phpbar.de logo

Mailinglisten-Archive

[php] regexp :: e-mail-adressen OHNE mailto: klickbar

[php] regexp :: e-mail-adressen OHNE mailto: klickbar

Mario Aeby php_(at)_phpcenter.de
Tue, 5 Mar 2002 10:28:40 +0100


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