2012-03-19 55 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))