检查字符串中是否有字符串数组的字符串

时间:2017-12-06 20:18:09

标签: php

php中的所有字符串函数(preg_match,strpos ...)我知道允许我在字符串中查找字符串。我的目的是在字符串中找到一个字符串数组的字符串,如下所示:

         $pattern = array("jpg", "bmp");
         $subject = $bild->dateiname;

任何想法,如何使用php-function实现我的意图?

2 个答案:

答案 0 :(得分:1)

在数组中查找字符串

<pre>
<?php       

  $pattern = array("jpg", "bmp");

  $yourString ="bmp dd ddd ddd";
  $string = (explode(" ",$yourString));


    echo findeStirng($pattern,$string);

    function findeStirng($pattern,$string){
         foreach ($string as $val){
             foreach ($pattern as $valpat){
             $find="";
             if ($val==$valpat){
                 $find ="finde string";
                 return $find;
                 break;
             }
             }
             }
         }
?>

</pre>

答案 1 :(得分:1)

如果您只想查看主题字符串中是否有任何一个数组字符串,请尝试替换它们并检查是否有替换字符串:

if(str_replace($pattern, '', $subject) != $subject) {
    echo 'something was found';
}

或者:

if(str_replace($pattern, '', $subject, $count) && $count) {
    echo 'something was found';
}

要捕获匹配项使用preg_match或捕获所有匹配项:

preg_match_all('/(' . implode('|', $pattern) . ')/', $subject, $matches);

然后检查$matches