Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查字符串中是否存在单词列表_Php - Fatal编程技术网

Php 检查字符串中是否存在单词列表

Php 检查字符串中是否存在单词列表,php,Php,嗨,我正在检查字符串中是否存在单词列表(或其中任何一个)。我尝试了一些我在这里找到的例子,但是我仍然不能让它正常工作 知道我做错了什么吗 $ss3="How to make a book"; $words = array ("book","paper","page","sheet"); if (in_array($ss3, $words) ) { echo "found it"; } 您需要explode()您的$ss3字符串,然后将每个项目与$words循环进行比较

嗨,我正在检查字符串中是否存在单词列表(或其中任何一个)。我尝试了一些我在这里找到的例子,但是我仍然不能让它正常工作

知道我做错了什么吗

$ss3="How to make a book";
    $words = array ("book","paper","page","sheet");
    if (in_array($ss3, $words) )
{
    echo "found it"; 
}
您需要
explode()
您的
$ss3
字符串,然后将每个项目与
$words
循环进行比较

_阵列中的
手册

explode()的手册


在数组上循环,检查字符串中是否存在每个元素

$ss3="How to make a book";
$words = array ("book","paper","page","sheet");
foreach($words as $w){
  if (stristr($ss3,$w)!==false)
   echo "found $w \n"; 
}

这是检查字符串中是否存在单词的方法。还请记住,必须先将字符串转换为小写,然后将其分解

$ss3="How to make a book";
$ss3 = strtolower($ss3);
$ss3 = explode(" ", $ss3);
    $words = array ("book","paper","page","sheet");
    if (in_array($ss3, $words) )
{
    echo "found it"; 
}
干杯

您可以与like as一起使用


您可以使用正则表达式。它看起来像这样:

$ss3 = "How to make a book";

 if (preg_match('/book/',$ss3))
     echo 'found!!';

in_数组将只检查数组中的完整字符串值。 现在您可以尝试以下方法:

$string = 'How to make a book';
$words = array("book","paper","page","sheet");
foreach ($words as $val) {
    if (strpos($string, $val) !== FALSE) {
        echo "Match found"; 
        return true;
    }
}
echo "Not found!";

此代码将帮助您获得更好的答案

    <?php
    $str="Hello World Good";
    $word=array("Hello","Good");
    $strArray=explode(" ",$str);
   foreach($strArray as $val){
   if(in_array($val,$word)){
   echo $val."<br>";
   }
   }

 ?>


in_数组将只检查数组中的完整字符串值。注意:此答案在输出方面无效。我们必须检查
$words
的任何或所有元素是否在字符串中,而不是相反。例如,这个答案会说
to
不是用文字写的,但OP不想检查。只需检查<代码>单词$< /代码>中的单词,请考虑相应的更新。
$string = 'How to make a book';
$words = array("book","paper","page","sheet");
foreach ($words as $val) {
    if (strpos($string, $val) !== FALSE) {
        echo "Match found"; 
        return true;
    }
}
echo "Not found!";
    <?php
    $str="Hello World Good";
    $word=array("Hello","Good");
    $strArray=explode(" ",$str);
   foreach($strArray as $val){
   if(in_array($val,$word)){
   echo $val."<br>";
   }
   }

 ?>