Jako, że nie chce mi się szukać postu w którym to było, masz:
<?php
function make_clickable($text, $ref = 1)
{
$ret = ' ' . $text;
$red_links = ($ref) ? './redirect.php?adr=' : '';
$ret = preg_replace(\"#(^|[n ])([w]+?://[^ \"nrt<]*)#is\", \"1<a href=\"2\" target=\"_blank\">2</a>\", $ret); $ret = preg_replace(\"#(^|[n ])((www|ftp).[^ \"tnr<]*)#is\", \"1<a href=\"http://2\" target=\"_blank\">2</a>\", $ret); $ret = preg_replace(\"#(^|[n ])([a-z0-9&-_.]+?)@([w-]+.([w-.]+.)*[w]+)#i\", \"1<a href=\"mailto:2@3\">2@3</a>\", $ret); $ret = preg_replace(\"#([n ])(ed2k://|file|(.*)|d+|w+|/?)#\", \"1<a href=\"2\" class=\"href\">3</a>\", $ret); return($ret);
}
?>
Pierwszy parametr - tekst do przeszukania, parametr 2 - czy na początku adresów dopisywać "./redirect.php?adr=" - skrypcik redirect.php dokouje przekierowań bez zapamiętania strony na której się kliknęło - jako "referer" zostanie zapamiętany właśnie plik redirect.php a nie strona na której się kliknęło... (skrypt wykorzystuje tylko funkcję header();
funkcja zwraca tekst z powstawianymi adresami jako hyperlinki.
Funkcja zamienia także adresy e-mail...