我需要在字符串中搜索以查找是否与此模式匹配:
class="%men%"
这意味着该类可能等于:
class="men"
class="mainmen"
class="MyMen"
class="menSuper"
class="MyMenSuper"
等
我需要像strpos($string,'class="%men%')
这样的东西,其中%可以是任何东西。
最佳, 马尔蒂阿赫
答案 0 :(得分:2)
尝试使用preg_match
if (preg_match("/men/i", $class)) {
echo "A match was found.";
} else {
echo "A match was not found.";
}
请查看此链接以获取更多信息http://www.php.net/preg_match
修改:
所以你可以这样做(灵感来自Marius.C的回答)
$string = '<div class="menlook">Some text</div>';
if (preg_match('/class="(.*)men(.*)"/i', $string)) {
echo "A match was found.";
} else {
echo "A match was not found.";
}
答案 1 :(得分:2)
将类“men”存储为变量中的字符串,如“$ your_class”
然后像这样使用preg_match:
if(preg_match('/men/i', $your_class)) {
echo "Men Class Found!";
}
或使用strpos:
if(strpos(strtolower($your_class),'men')!==false) {
echo "Men Class Found!";
}
答案 2 :(得分:1)
使用strpos
两次,
if(strpos($string,'class=') !== false && strpos($string,'men') !== false){
echo "true";
}
注意: strpos
比preg_match
快得多。
答案 3 :(得分:0)
如果没有非常慢的正则表达式,这是可能的
stristr($string, 'men')
答案 4 :(得分:0)
我相信你需要这样的东西:
preg_match_all('/class="(.*)men(.*)"/i', $string, $matches);