2013-08-06 36 views
0

如何使這兩個先前的ereg_replace表達式與preg_match一起工作?Ereg_replace to preg_replace Lep

http://([.]?[a-zA-Z0-9_/-])*| 

(^| |\n)(www([.]?[a-zA-Z0-9_/-])*) 

添加代碼註釋

preg_replace("http://([.]?[a-zA-Z0-9_/-])*", "<a href=\"\\0\" target=\"_blank\">\\0</a>" 
+0

這部分沒有工作,到目前爲止,我看到它的全兼容。也許我錯了 – DevZer0

+0

所以這應該工作呢? preg_replace(「http://([。]?[a-zA-Z0-9 _/- ])*」,「\\0」,$ message); – user2352040

+0

用難以閱讀的語法更新該問題 – DevZer0

回答

0

只需添加分隔約於正則表達式:

http://([.]?[a-zA-Z0-9_/-])* 

變得

/http:\/\/([.]?[a-zA-Z0-9_\/-])*/ 

,或者更好的

~http://([.]?[a-zA-Z0-9_/-])*~ 

同爲第二個:

(^| |\n)(www([.]?[a-zA-Z0-9_/-])*) 

變爲:

~(^| |\n)(www([.]?[a-zA-Z0-9_/-])*)~