PHP使用STRPOS在CLASS中查找部分值

时间:2014-01-30 13:14:27

标签: php strpos

我需要在字符串中搜索以查找是否与此模式匹配:

class="%men%"

这意味着该类可能等于:

class="men"
class="mainmen"
class="MyMen" 
class="menSuper"
class="MyMenSuper"

我需要像strpos($string,'class="%men%')这样的东西,其中%可以是任何东西。

最佳, 马尔蒂阿赫

5 个答案:

答案 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!"; }

参考:http://php.net/preg_match

或使用strpos:

if(strpos(strtolower($your_class),'men')!==false) { echo "Men Class Found!"; }

参考:http://www.w3schools.com/php/func_string_strpos.asp

答案 2 :(得分:1)

使用strpos两次,

if(strpos($string,'class=') !== false && strpos($string,'men') !== false){
   echo "true";
}

注意: strpospreg_match快得多。

答案 3 :(得分:0)

如果没有非常慢的正则表达式,这是可能的

stristr($string, 'men')

答案 4 :(得分:0)

我相信你需要这样的东西:

preg_match_all('/class="(.*)men(.*)"/i', $string, $matches);