2017-06-21 66 views
1

如果我的str2(变量)是java。 我仍然得到输出: - 值存在。 我想搜索只完整的字符串不是子字符串。他们的任何 功能,只为完整的字符串?查找完整的字符串是否存在...不是子字符串

 $str2 ="javascript"; 

    $str1 ="abc def xyz in javascript "; 

    if(stripos($str1,$str2) !== false) { 

     echo "value present"; 

    }else{ 

    echo "noooo"; 

    } 
+0

每件事情都很好,你需要帮助吗? –

+0

是它的工作正常.....如果我的$ str2 =“java..my输出值存在...但我不想子字符搜索 –

+0

像'preg_match('/ \ bjavascript \ b /', $ str1)'? – Phylogenesis

回答

1

如果你要搜索这样$str2 ="javascript is awesome ";

字符串那就试试下面的代码

$str2 ="javascript is awesome"; 
$str1 ="abc def xyz in javascript "; 
$filterKeys = explode(' ', $str2); 
$regexp=''; 
foreach ($filterKeys as $word) { 
    $word = trim($word); 
    if ($word) { 
     $regexp = $regexp . "$word|"; 
    } 
} 
$regexp = chop($regexp, '|'); 
preg_match("/\b($regexp)\b/i", $str1, $res); 
if(!empty($res)) { 
    echo "value present"; 
}else{ 
    echo "noooo"; 

} 

我认为这将帮助你。

+0

确保调用['preg_quote()'](http://php.net/manual/en/function.preg-quote.php)动态创建正则表达式时用户提供的任何值。 – Phylogenesis

0

在这里,如果您只通过$str的全名,它将返回值存在。

$str1 ="abc def xyz in javascripts "; 
    $array=explode(" ",$str1); 
    $str='javascripts'; 
    if (in_array($str,$array)){ 
     echo "value present"; 
    }else{ 
     echo "noooo"; 
    } 
相关问题