Mailinglisten-Archive |
hi,
das faq (und damit die funktion 'replace_uri') haben mir sehr geholfen.
doch ich möchte nun noch einen teil dieser funktion individualisieren...
email-adressen sollten nämlich auch erkannt werden, wenn sie kein
mailto: vorangehend stehen haben! einen pattern habe ich bereits dafür,
aber leider bin ich in regexp kein hirsch, weshalb mir die funktion
plötzlich keine ausgabe mehr zurückgibt:
<?
function replace_uri($str_string) {
$str_pattern =
"#(^|[^\"=]{1})([a-zA-Z0-9]+([-_\.]?[a-zA-Z0-9])+_(at)_([-_\.]?[a-zA-Z0-9])+\
.[a-zA-Z]{2,3})([\s\n<>]|$)#sm";
$str_string = preg_replace($str_pattern,"\\1<a
href=\"mailto:\\2\">\\2</a>\\3",$str_string);
$str_pattern =
'#(^|[^\"=]{1})(http://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
$str_string = preg_replace($str_pattern,"\\1<a
href=\"\\2\\3\">\\3</a>\\4",$str_string);
}
?>
um ehrlich zu sein habe ich mir meinen email-pattern genommen und ihn in
eure "form" reingequetscht. wie ich es befürchtet habe, funktioniert das
ganze jetzt nicht mehr so, wie es soll ...
kann mir jemand bei zeile 1 & 2 weiterhelfen? es sollen schlicht alle
strings im text in der form irgendwas_(at)_irgendwo.tld ersetzt werden.
vielen dank!
grüsse
mario
--
mario aeby
stritenstrasse 47
3176 neuenegg
http://www.eMeidi.com
php::bar PHP Wiki - Listenarchive