我在PHP中將此代碼轉換爲文本內的URL到活動html鏈接。將URLS轉換爲與REGEX的活動鏈接
例如,在一個字符串
Hey check this cool link http://www.example.com
這種轉變爲:
Hey check this cool link <a href="http://www.example.com">http://www.example.com</a>
正如你可以看到它只是增加正確<一> HTML標籤
的代碼這個:
$active_links_text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $original_text);
我的問題是,如何做到這一點工作除了如果URL是一個YouTube網址。
所以我想這樣的結果:在一個字符串
Wow have you checked http://www.youtube.com/watch?v=dQw4w9WgXcQ its even better than http://www.example.com !!!
我想轉化爲
Wow have you checked http://www.youtube.com/watch?v=dQw4w9WgXcQ its even better than <a href="http://www.example.com">http://www.example.com</a>
正如你可以看到<一> HTML標記添加到example.com的網址,但不在YouTube的網址。
我該如何做到這一點?
我希望我描述我的問題夠好,我希望它很容易實現這個!最後說明:我在php 5.2.14中使用此代碼
謝謝各位!
我想你應該構造成URL屬性,以匹配`http` URL,如[spec](http://www.ietf.org/rfc/rfc1738.txt)中所述。特別是,你的正則表達式不匹配`?`。另外,可能有'&`,`#`...... – khachik 2010-12-06 15:02:20