求匹配文本中的關鍵詞?
本帖最後由 TuanTuanShuo 於 2012-12-09 18:45:15 編輯
$guanjianci='德國|荷蘭|丹麥|葡萄牙';
//或者$guanjianci=("德國"."荷蘭"."丹麥"."葡萄牙");
$varchar='德國和丹麥都在第一場比賽1-0獲勝,在次輪比賽中,德國2-1擊敗荷蘭,兩場小組賽戰罷,德國隊雖然拿到了6分,但依然未能保證出線,最後一場如果輸給丹麥仍然有出局可能。丹麥上一場在0-2落後的情況下連追兩球,但最後還是2-3輸給葡萄牙,將小組次席拱手讓給葡萄牙。
丹麥想要出線必須力爭擊敗德國,好在他們也不缺乏擊敗德國的感覺。在兩隊最近3場交手中,丹麥令人吃驚地2勝1平佔據上風,最近一次交手是在2010年8月,丹麥在落後兩球情況下扳平比分。兩隊上一次在歐洲杯交手則是1992年歐洲杯決賽,當時正是丹麥童話的巔峰,北歐人2-0擊敗德國奪冠。
在德國隊前兩場比賽中,戈麥斯成為最大的亮點。超級馬里奧連續兩場比賽包攬了德國3粒進球,恐怖的是他進3球居然只花了6腳射門。戈麥斯目前以3球排名射手榜首位,自從1976年歐洲杯穆勒單屆射進4球以來,德國隊此後36年還沒有任何球員歐洲杯單屆進球超過3個。左邊鋒波多爾斯基在此前兩場小組賽均打滿全場,國家隊出場次數達到99場,本場有望實現百場。
雙方都沒有對首發陣容進行大的調整,德國隊只是因為博阿滕停賽而派上了本德,丹麥也只換上鮑爾森,隊內元老羅梅達爾因傷缺席。本場德國前鋒波多爾斯基迎來國家隊第100場比賽,小將本德則是首次在國家隊首發。
第2分鐘,赫迪拉禁區前沿左側傳中,中路無人拿到皮球,後點穆勒胸部停球後左腳抽射稍稍高出。第5分鐘,丹麥左側角球,本特納遠點頭槌攻門被諾伊爾拿到。1分鐘後,德國迅速反擊,厄齊爾左側直塞,波多爾斯基傳中,克亞爾解圍不力,穆勒門前3米處射門被安德森神奇化解。第12分鐘,戈麥斯禁區外圍左腳遠射高出。';
echo $abb;//德國
?>
文本'$varcha'中匹配尋找關鍵詞'$guanjianci',
①輸出'echo'重複率最高的匹配關鍵詞,
②如有多個重複率是一樣的,則輸出'echo'第一個'$abc[0]'關鍵詞,
③如果沒有匹配的關鍵詞,則輸出'echo'無。
如上面’$guanjianci‘德國重複率最高,則輸出echo‘德國’。
求匹配的php?
------解決方案--------------------
if(preg_match_all("/($guanjianci)/", $varchar, $res)) {
$ar = array_count_values($res[0]);
echo array_search(max($ar), $ar);
}else echo '無';