2012-03-19 81 views
0

我試圖修改PHP文件中處理來自XML(大約600個工作站)的數據的一行。 PHP使流媒體播放器可以使用這些數據。 原線就是這個如何正確排序preg_match?

if (($title <> "")&& (strpos($link,"<") === false)&& preg_match("/Cha/i",$lang)) 

這給了我大約50個車站,我想補充幾站是有「茶」在$ LANG但「Soprts」 有「中國製造」他們的$標題。

所以我寫了一行像這樣

if (($title <> "")&& (strpos($link,"<") === false)&& preg_match("/Cha/i",$lang)&& (preg_match("/China/i",$title)||preg_match("/Sports/i",$lang))) 

但現在我得到比以前少的結果,我現在只得到有CHA在$標題站$ LANG和「中國」 。所有有$ lang的CHA但沒有$ title的「中國」的相關電臺都被排除在外。

正如我在PHP中有非常有限的知識,我不知道如何進行正確的排序,有人給了我使用stripos函數,但我不知道如何使用它,他的例子沒有工作確定

回答

1

你翻轉和和或在您的新代碼。你想要:

if (($title <> "")&& (strpos($link,"<") === false)&& (preg_match("/Cha/i",$lang)|| (preg_match("/China/i",$title)&&preg_match("/Sports/i",$lang)))) 
+0

很棒! tnx BriAnna,正是我想要的,它的工作非常漂亮。 – asik 2012-03-19 07:46:48

0

你不要把手鐲對準。您可以通過使用|(手段OR)在正則表達式中添加多個選項,試試這個:

if (($title <> "") && (strpos($link,"<") === false) && preg_match("/CHA|China|Sports/i",$lang))