1
讓我明確我想實現的邏輯。PHP preg_match_all:在其中找到帶有「@word」或「#word」的字符串
- 我有許多意見和主題詞在DB
- 我想通過正規快件,以匹配評論主題詞。
- 匹配單詞將在數據庫中查詢並獲取他們的topicid並應用主題評論標籤雲生成目的。
但任何開頭「@」和「#」在如preg_match_all模式不得到是如何工作的話。
$pattern = '/\b(\@abdulcollo|tuskys|\#teamBata|50\% off|baby|\@mystic_false)\b/i';
$string = 'Anga lonely everyday RT @Mystic_False: Heehe @AbdulCollo aneno ka idhi tuskys in lonely bana #TeamBata in Kakamega baby! @danaceda @kibalimoreithi @olivermathenge @batakenya @ Tuskys Mega Mall 50% off';
prag_match_all($pattern, $string, $matches);
var_dump($ matched)return below array。
$matches = array('tuskys', 'baby', '50% off');
,但我也想有'@abdulcollo','#TeamBata','@Mystic_False',我逃脫了 「@」 和 「#」,但他們仍然沒有得到匹配...!
任何幫助非常感謝,我想純PHP的邏輯。
注意:創建標籤字紋,也降低整體評論字符串時,我小寫家居例如,小寫的話,那麼這沒有任何問題。
由於阿維納什這是工作的另一個修復程序我只是刪除** \ b **從我的正則表達式'(@abdulcollo | tuskys | #teamBata | 50% off | baby | @mystic_false)'現在工作正常。 – 2014-09-20 15:08:29