匹配字符串中的单词

时间:2012-09-18 11:47:45

标签: regex

我有下一个代码:

$string = "hello to all world";
$strings_compare = tomorrow, hello, world;
$string_arrays =split(',',$strings_compare);

      for ($i=0; $i<count($string_arrays); $i++){
          $resultado = preg_match("/$string_arrays[$i]/",$string);
             if($resultado == false){   
             echo "no match";              
             }else {
            echo "match";
             }
      }

在此代码中,结果如下: 没有比赛,比赛,没有比赛

,结果应为:无匹配,匹配和匹配。我的错误是什么?

如果我按$string更改$string='say hello to all world now' 结果是匹配,匹配,匹配,这没关系。

2 个答案:

答案 0 :(得分:1)

当我使用有效的数组语法时,它对我来说很好。

<?php
$string = "hello to all world";
$string_arrays = array("tomorrow", "hello", "world");

for ($i=0; $i<count($string_arrays); $i++) {
    $resultado = preg_match("/$string_arrays[$i]/",$string);
    if(!$resultado) {   
        echo "no match";              
    } else {
        echo "match";
    }
}

返回

  

没有matchmatchmatch

答案 1 :(得分:0)

试试这个:

$resultado = preg_match("/".preg_quote($string_arrays[$i])."/",$string);

此外:

$string_arrays = array("tomorrow", "hello", "world");