nina: regulärer ausdruck: links umwandeln

hi,

versuche mit

$string = "das ist eine testurl (www.test.de) - klick doch mal drauf!";
$pattern = '#(^|[^"=]{1})(http://|ftp://|mailto:|www.)([^\s<>]+)([\s\n<>]|$)#sm';
$string_neu =  preg_replace($pattern,"\1<a href="\2\3" target="_blank">\2\3</a>\4",$string);
echo $string_neu;

alle links in einem plaintext umzuwandeln. habe noch probleme den reg. ausdruck so zu schreiben, dass er

1. wenn nur www.test.de im plaintext steht, das http:// im <a>-tag einfügt

2. wenn mailto: da steht kein target="_blank" schreibt

kann mir jemand von eich profis helfen? das wäre supiiii nett.

lg nina

  1. hallo nochmal ...

    kann mir denn niemand von Euch helfen :-((((

    lg nina

    1. Huhu nina

      da Du ja sehr umfangreiche Wünsche an den regulären Ausdruck hast
      kommt für Dich vielleicht eher folgendes in Frage

      http://de.php.net/manual/en/function.preg-replace-callback.php

      dann kannst Du mit einer eigenen (Callback-)Funktion
      umfangreiche Bedingungen entsprechend auswerten und das einzusetzende
      Ergebnis zurückliefern.

      Viele Grüße

      lulu

      --
      bythewaythewebsuxgoofflineandenjoytheday