我有以下字符串:PHP正則表達式幫助主題標籤
$str = '#hello how are #you and #you and #you';
我想環繞那些有散列標籤在他們面前,爲exampe一些HTML代碼:
echo preg_replace("/#([A-Za-z0-9_]+)(?=)/", "<a href='http://url.com/$1'>$0</a>", $str);
這將輸出:
請注意,每個URL鏈接都沒有鏈接中的哈希標記。
但是,這是我的問題,因爲在最後一個#末尾沒有空格,它與正則表達式不匹配,顯然不包含在內。我不知道該怎麼做,因爲有些可能有空格後,有些可能不會,但我不想在輸出中包含空格(因此(?=)),但我不知道我還有什麼可以做。
任何幫助將不勝感激。
預先感謝
哇,謝謝你的快速和非常好的答案。我對它做了一個修改,使其不包含返回的url中的空白,所以最終的正則表達式是: /@([A-Za-z0-9 _] +)(?= \ s | \ Z)/ 完美,非常感謝ennuikiller。有什麼我可以爲你做的,作爲感謝的姿態嗎? – 2009-08-25 17:39:29
@jamie你的欣賞是綽綽有餘!也許你會回答我的一個問題,而不是時間! – ennuikiller 2009-08-25 17:41:52
我的意思是「下一個」的時間! – ennuikiller 2009-08-25 17:42:45