我目前有一些問題與檢測網址,使他們可點擊。 到目前爲止,它一直運行良好,可能是因爲我們總是用真實的URL進行測試,但現在網站是活的,我們遇到了一些問題。網址檢測問題
這是我們使用之前
$content = preg_replace('!(((f|ht)tp://)[-a-zA-Zа-яА-Я()[email protected]:%_+.~#?&;//=]+)!i', '<a href="$1" target="_blank">$1</a>', $content);
$content = eregi_replace('([[:space:]()[{}])(www.[[email protected]:%_\+.~#?&//=]+)', '\\1<a href="\\2" target="_blank">\\2</a>', $content);
它是做正常的URL一項偉大的工作,以檢測它們的代碼,但有的URL給人的問題:
- hk.linkedin.com
- www.test.com
- test.com
還要注意,某些URL在他們之前沒有http。
對於正則表達式,我真的不太好,所以如果有人能幫我弄明白這一點,我將非常感激。
你爲什麼不告訴你一點你想達到什麼,以及你面臨的「問題」是什麼? –
我總是從任何通過正則表達式發送的URL中刪除'http://'。因爲它可以是精確的或不存在的,所以在通過模式運行之前,可以使用簡單的'str_replace('http://','',$ url)'來完成。注意:這將從URL中傳遞的任何urlencoded()字符串中移除「http://」。 –
謝謝,刪除http已經解決了一些問題。 –