Mailinglisten-Archive |
Hallo Liste, ich möchte in einem beliebig langen String aus einer Textarea alle URIs in Links verwandeln. Das Beispiel aus den FAQ funktioniert bei mir nicht. Es wird immer nur die erste URI ersetzt. Die Zweite bleibt so, wie sie war... Aus den FAQs: function replace_uri($str) { $pattern = '#(^|[^\"=]{1})(_http://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm'_ (http://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm') ; return preg_replace($pattern,"_\\1<a_ (file://\\1<a) href=\"_\\2\\3\"><u>\\2\\3</u></a>\\4",$str_ (file://\\2\\3\"><u>\\2\\3</u></a>\\4",$str) ); } Hat jemand ne Idee??? Hatte es mal mit function substWWWAdress($html){ Protokoll Domain Verzeichnis&Dateien CGI-Query $html = preg_replace('/\s([a-zA-Z0-9]+:\/\/)?(([-a-z0-9]+\.)+[a-z]{2,}((\/?[a-zA-Z0-9]+\.?)*)\??((&?[a-zA-Z0-9%]+)=[a-zA-Z0-9%]*)*)/i', "<a href=_\\0_ (file://\\0) >\\0</a>", $html); return $html; } versucht, aber da hatter immer nur den domain-Teil gefunden, obwohl der Ausdruck im Regex Coach (_http://weitz.de/files/regex-coach.tgz_ (http://weitz.de/files/regex-coach.tgz) [linux] oder _http://weitz.de/files/regex-coach.exe_ (http://weitz.de/files/regex-coach.exe) [win]) funktioniert. Viele Grüße Markus
php::bar PHP Wiki - Listenarchive