Visa ett inlägg
Oläst 2005-07-23, 12:12 #2
koalas avatar
koala koala är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Sep 2004
Inlägg: 1 154
koala koala är inte uppkopplad
Har WN som tidsfördriv
koalas avatar
 
Reg.datum: Sep 2004
Inlägg: 1 154
Kod:
<?php
function email2link($string)
{
    return preg_replace("!(^|[ \n\r\t])([a-z_-][a-z0-9\._-]*@[a-z0-9_-]+(\.[a-z0-9_-]+)+)!i","\\1<a href=\"mailto:\\2\">\\2</a>",$string);
}


function url2link ( $Text )
{
	
	$Text = email2link($Text);
	
// First match things beginning with http:// (or other protocols)
  $NotAnchor = '(?<!"|href=|href\s=\s|href=\s|href\s=)';
  $Protocol = '(http|ftp|https):\/\/';
  $Domain = '[\w]+(.[\w]+)';
  $Subdir = '([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?';
  $Expr = '/' . $NotAnchor . $Protocol . $Domain . $Subdir . '/i';

  $Result = preg_replace( $Expr, "<a href=\"$0\" title=\"$0\" target=\"_blank\">$0</a>", $Text );

// Now match things beginning with www.
  $NotAnchor = '(?<!"|href=|href\s=\s|href=\s|href\s=)';
  $NotHTTP = '(?<!:\/\/)';
  $Domain = 'www(.[\w]+)';
  $Subdir = '([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?';
  $Expr = '/' . $NotAnchor . $NotHTTP . $Domain . $Subdir . '/i';

  return preg_replace( $Expr, "<a href=\"http://$0\" title=\"http://$0\" target=\"_blank\">$0</a>", $Result );
}


echo url2link("Det här är en adress@domän.com, och det här en länk://till.nagonting.com/hej.html?id=12");
?>
Ovanstående kan nog hjälpa dig.
koala är inte uppkopplad   Svara med citatSvara med citat