所有社區!鏈接和圖像嵌入正則表達式
我是新來的正則表達式,我有他們的麻煩。 我有一個簡單的用戶數據解析器的聊天腳本。 有一種能夠嵌入帶有BBCode標籤的圖像,如下所示:[img]http://example.com/image.png[/img]
。 我也想做自動鏈接轉換爲有效的超鏈接。 我有兩個處理REGEXes,我不知道如何解決它們之間的衝突。
要處理[img]
標籤我用這個和它的第一個執行:
$line = preg_replace('/\[img\](https?:\/\/[a-zA-Z0-9%\-_?&=:+.\/]+)\[\/img\]/iU', '<a href="$1" target="_blank"><img class="incl_img" src="$1"></a>', $line, 5);
然後處理我用這個鏈接:
$line = preg_replace('#(https?:\/\/([a-zA-Z0-9-.]+)\/?[a-zA-Z0-9?&=.:\#\/\-_~%+]*)#e', '\'[<a href="$1" title="$1" target="_blank">$2</a>]\'',$line);
當用戶帖子的鏈接處理,正則表達式打破<img>
圖像標記插入其<a href=...
而不是鏈接。如何避免使用特殊的[url]
標籤或其他東西?如何將[img]
標籤與簡單鏈接分開?正則表達式和/或算法的任何修正都是受歡迎的。提前致謝!
感謝您的回覆,但我說,我不希望使用任何UBB標籤來處理鏈接。是不是可以讓它們自動突出顯示,並在'[img]'標籤中使用它們時忽略它們? – namikiri