Wie "urlencode" in diese Function einsetzen ?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Wie "urlencode" in diese Function einsetzen ?

    Morgen,

    ihr findet hier eine Function um aus einem Text alle URLs in Links umzuwandeln ( aus dem phpBB ). Ich möchte die aber die URL mit Hilfe von urlencode codieren. Leider sind bisher alle meine Bemühung gescheitert

    Vielleicht könnt ihr mir helfen

    PHP-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\">[url]www.\\2.\\3\\4[/url]</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($ret1); 

       return(
    $ret); 

    Wiki Webhosting Forum Webhosting News

  • #2
    http://www.php-resource.de/manual.php?p=function.preg-replace
    /e modifier makes preg_replace() treat the replacement parameter as
    PHP code after the appropriate references substitution is done. Tip: make
    sure that replacement constitutes a valid PHP code string, otherwise PHP
    will complain about a parse error at the line containing preg_replace().
    am Beispiel des ersten replace:
    preg_replace("#...#ie", "'\1<a href=\"\2://\3\" target=\"_blank\">'.url_encode('\2://\3'). '</a>'", $ret);

    Ich würd allerdings htmlentities benutzen.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Autsch,

      da hab ich mal wieder das wichtigste überlesen
      Wiki Webhosting Forum Webhosting News

      Kommentar

      Lädt...
      X