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.