如果它包含单词列表(数组)
,我想排除某些结果例如:
$result = 'http://www.facebook.com/plugins/likebox.php';
$discardKeys = array('chat', 'facebook', 'twitter');
像这样:
if (strpos($result,$discardKeys)==false) {
echo $result;
}
答案 0 :(得分:3)
您可以使用正则表达式:
$result = 'http://www.facebook.com/plugins/likebox.php';
$discardKeys = array('chat', 'facebook', 'twitter');
$discardKeys = array_map('preg_quote', $discardKeys);
if (preg_match('/'.implode('|', $discardKeys).'/', $result, $matches)) {
//..
}
答案 1 :(得分:0)
顺便说一句,我发布另一个但更长的解决方案:
function istheRight($url, $discardKeys){
foreach ($discardKeys as $key) {
if (strpos($url, $key) == true) {return false;}
}
return true;
}
所以在示例中:
$result = 'http://www.facebook.com/plugins/likebox.php';
$discardKeys = array('chat', 'facebook', 'twitter');
if (isTheRight($result, $discardKeys)) {echo $result;}
答案 2 :(得分:0)
这是使用str_replace来检查$ result结果的更短答案:
$result = 'http://www.facebook.com/plugins/likebox.php';
$discardKeys = array('chat', 'facebook', 'twitter');
if ($result == str_replace($discardKeys, "", $result)) {echo $result;}