Frage: Ist es möglich "urlencode" in dieser Funktion zu nutzen ?

Reimer

Grünschnabel
Guten Abend PHPler,

ich sitze hier vor einem Problem, bei dem ich nicht weiter weiß. Diese Funktion stammt aus dem phpBB, sie wandelt alle u.Ä. in Links um.

Code:
function make_clickable($text) 
{ 

   // pad it with a space so we can match things at the start of the 1st line. 
   $ret = " " . $text; 

   // matches an "xxxx://yyyy" URL at the start of a line, or after a space. 
   // xxxx can only be alpha characters. 
   // yyyy is anything up to the first space, newline, or comma. 
        
   $ret = preg_replace("#([\n ])([a-z]+?)://([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]+)#i", "\\1<a href=\"\\2://\\3\" target=\"_blank\">\\2://\\3</a>", $ret); 
    
   // matches a "www.xxxx.yyyy[/zzzz]" kinda lazy URL thing 
   // Must contain at least 2 dots. xxxx contains either alphanum, or "-" 
   // yyyy contains either alphanum, "-", or "." 
   // zzzz is optional.. will contain everything up to the first space, newline, or comma. 
   // This is slightly restrictive - it's not going to match stuff like "forums.foo.com" 
   // This is to keep it from getting annoying and matching stuff that's not meant to be a link. 
   $ret = preg_replace("#([\n ])www\.([a-z0-9\-]+)\.([a-z0-9\-.\~]+)((?:/[a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]*)?)#i", "\\1<a href=\"http://www.\\2.\\3\\4\" target=\"_blank\">www.\\2.\\3\\4</a>", $ret); 
    
   // matches an email@domain type address at the start of a line, or after a space. 
   // Note: Only the followed chars are valid; alphanums, "-", "_" and or ".". 
   $ret = preg_replace("#([\n ])([a-z0-9\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)?[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret); 

   // Remove our padding.. 
   $ret = substr($ret, 1); 

   return($ret); 
}

Ich möchte gerne, dass die URL mit Hilfe der Funktion urlencode codiert wird um sie dann an eine andere Seite zu übergeben.

Bisher sind leider alle Versuche fehlgeschlagen. Vielleicht kann einer von euch helfen.

MfG.
 
Zurück