我有這種代碼正則表達式,它應該將所有類型的不同URL轉換爲一些文本中的鏈接。在php中找到所有的URL(鏈接)文本
preg_replace函數的代碼是:
$regex = '@((https?://)?([-\w]+\.[-\w\.]+)+\w(:\d+)?(/([-\w/_\.]*(\?\S+)?)?)*)@';
$text = preg_replace($regex, '<a href="$1">$1</a>', $item);
現在它適用於幾乎所有你能想象的網址,但我的問題是逗號,並在網址的特殊字符...
的問題是讓我:
http://www.sdfsdfsdf.sd/si/391,1000,1/more.html
http://sdfsddsdf-sdfsdfds.sr/component/option,com_contact/Itemid,3/lang,si/
滑稽這裏計算器這兩個都OK了:)
感謝,最好的問候,
逗號的問題是,如果你有「http://www.avto.si/,http://www.avtooglasnik.com/,http://www.avtooglasi.com/」,這三個將會是與逗號相匹配,什麼是錯的當然:)任何想法? – Luka 2011-05-19 22:15:33
@Luka:不,只有最後一個會與內部的逗號相匹配,其他人只會與不考慮逗號的域匹配。逗號必須在斜槓('/')之後才能匹配爲基於上述 – 2011-05-19 22:23:04
以上的正則表達式的URL的一部分,但是您永遠不會有以逗號開頭的網址,因此這應該是無效的,您可以如此做嗎? thx回答無論如何,最好的:) – Luka 2011-05-19 23:21:41