[英]check substrings from array in string
我想排除一些結果,如果它包含單詞列表中的一個單詞(數組)
例如:
$result = 'http://www.facebook.com/plugins/likebox.php';
$discardKeys = array('chat', 'facebook', 'twitter');
像這樣:
if (strpos($result,$discardKeys)==false) {
echo $result;
}
您可以使用正則表達式:
$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)) {
//..
}
順便說一句,我發布了另一個但更長的解決方案:
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;}
這是使用str_replace來檢查$ result更改的簡短答案:
$result = 'http://www.facebook.com/plugins/likebox.php';
$discardKeys = array('chat', 'facebook', 'twitter');
if ($result == str_replace($discardKeys, "", $result)) {echo $result;}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.