情况的性质,我需要 1 模式来执行以下操作:
创建应该找到的模式
- 单个单词的完全匹配
- 2 个单词组合的完全匹配。
- 可以在字符串中找到的 2 个单词的匹配项。
我的问题是#3。目前我有:
$pattern = '/\s*(foo|bar|blah|some+text|more+texted)\s*/';
我怎样才能附加到这个模式,它会在字符串中的任何组合中找到“坏文本”。
有任何想法吗?
情况的性质,我需要 1 模式来执行以下操作:
创建应该找到的模式
我的问题是#3。目前我有:
$pattern = '/\s*(foo|bar|blah|some+text|more+texted)\s*/';
我怎样才能附加到这个模式,它会在字符串中的任何组合中找到“坏文本”。
有任何想法吗?
使用正则表达式检查字符串中的单词错误
/\bbad\b/
要检查字符串中的短语错误文本,请使用正则表达式
/\bbad text\b/
要检查字符串中单词bad和text的任何组合,请使用正则表达式
/\b(bad|text)\s+(?!\1)(?:bad|text)\b/
要检查字符串是否存在单词bad和text使用正则表达式
/(?=.*\bbad\b)(?=.*\btext\b)/
有几种方法可以做到这一点,但这是一个简单的方法
$array_needles = array("needle1", "needle2", etc...);
$array_found_needles = array();
$haystack = "haystack";
foreach ($array as $key=>$val) {
if(stristr($haystack, $val) {
//do whatever you want if its found
$array_found_needles[] = $val; //save the value found
}
}
$found = count($array_found_needles);
if ($found == 0) {
//do something with no needles found
} else if($found == 1) {
//do something with 1 needle found
} else if($found == 2) {
//do something with two needles found, etc
}