0
所以即時通訊正在工作的正則表達式,這將用於論壇,也有bbcode的支持。這個正則表達式假設捕獲所有以https,http和www開頭的鏈接,並將它們鏈接到鏈接。PHP的正則表達式來查找鏈接
目前它捕獲所有的https和http,但不是www的。而我不知道如何獲取以www開頭的那些。
還要記住,如果鏈接已經在一個bbcode中,它不應該在這個正則表達式中捕獲。
return preg_replace('/(?<!src=[\"\'])(http(s)?:\/\/(www\.)?[\/a-zA-Z0-9%\?\.\-]*)(?=$|<|\s)/','<a href="$1">$1</a>', $text);
鏈接總是有一個協議的主導方案。你試圖解釋一些可能被解釋爲引用的字符串,這是一件有風險的事情。也只有很少的主機名稱的網絡服務器仍然帶有傳統的www.this在1980年使用的前綴... – arkascha
www的支持是因爲當前版本的網站用戶不復制和粘貼從網站的網址。相反,他們知道地址並添加www。而不是URL中的http://。 – Fyllekanin