Ist zwar nicht von mir aber ich glaub, das Skript sollte es tun, auch gleich mit e-mails.
[size=10]
[size=10][size=10]if (!function_exists(urlparse)) {
function urlparse($post) {
$urlSA = array(
"/([^]_a-z0-9-=\"'\/])((https?|ed2k|unreal|ftp|gopher|news|telnet):\/\/|www\.)([^ \r\n\(\)\*\^\$!`\''\|\[\]\{\};<>]*)/si",
"/^((https?|ed2k|unreal|ftp|gopher|news|telnet):\/\/|www\.)([^ \r\n\(\)\*\^\$!`\''\|\[\]\{\};<>]*)/si"
);
$urlRA = array(
"\\1[url='http:////2//4']\\2\\4[/url]",
"[url='http:////1//3']\\1\\3[/url]"
);
$emailSA = array(
"/([ \n\r\t])([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4}))/si",
"/^([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4}))/si"
);
$emailRA = array(
"\\1\\2",
"\\0"
);
$text = preg_replace($urlSA, $urlRA, $post);
if (strpos($text, "@")) {
$text = preg_replace($emailSA, $emailRA, $text);
}
return $text;
}
}
[/size]
[/size][/size]
Alles anzeigen
(Das hats mir jetzt ein bisschen seltsam formatiert, aber mit copy&paste sollts schon gehn)
edit: den Mittelteil ändert das Forum ständig, ich versuchs hier nochmal auszuschreiben:
[size=10]"\\1(url)\\2\\4(/url)",
"(url)\\1\\3(/url)"
[/size]
und weiter unten
[size=10]"\\1(email)\\2(/email)",
"(email)\\0(/email)"
[/size](bei beiden statt den runden Klammern eckige)
Falls es nicht geht kann ichs dir als txt attachen, so geht nix verloren durchs Forum.
Hmmm bin mir jetzt gar nicht sicher ob das Skript dein Problem löst, aber es geht zumindest irgendwie in die Richtung. Ich glaub es ersetzt durch (url)text(url) aber ein paar kleine Änderungen und das sollt gehn.
lG,
Murmel