Löysin täältä tällaisen:
function linkeiksi($teksti) {
$lauseke = "/(\s|^)";
$lauseke .= "(http:\/\/|www\.)";
$lauseke .= "([\w\.\/\?=&~]+)";
$lauseke .= "(\s|$)/i";
$muutettu = preg_replace($lauseke, "$1<a href=\"$2$3\" target=\"_blank\">$2$3</a>$4", $teksti);
$muutettu = str_replace("href=\"www.", "href=\"http://www.", $muutettu);
return $muutettu;
}Tähän pitäisi saada muutama muutos. Ur-osoitteessa voi olla tavumerkkejä(-) ja alaviivoja(_).
Tämä funktio ei hyväksy niitä. Miten sen saa hyväksymään tällaiset merkit?
Ps. Taisin löytää ratkaisun:
$lauseke .= "([\w\.\/\-_?=&~]+)";
Aihe on jo aika vanha, joten et voi enää vastata siihen.