Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/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,提取$string中的$短语 $new_字符串输出应为:new York new Jersey Computer Repair Tech 请注意,如果您想进行区分大小写的搜索,那么您的查找将不区分大小写 使用strpo而不是stripos 请注意,如果您想进行区分大小写的搜索,那么您的查找将不区分大小写 使用STRPO而不是stripos您需要使用stripos以获得最佳效率:。您的代码如下所示: $new_string = ""; foreach($phrases as $p) {

提取$string中的$短语

$new_字符串输出应为:new York new Jersey Computer Repair Tech

请注意,如果您想进行区分大小写的搜索,那么您的查找将不区分大小写 使用strpo而不是stripos

请注意,如果您想进行区分大小写的搜索,那么您的查找将不区分大小写
使用STRPO而不是stripos

您需要使用stripos以获得最佳效率:。您的代码如下所示:

 $new_string = "";  

 foreach($phrases as $p) {

      $pos = stripos($string, $p);
      if ($pos !== false) {
         $new_string .= " ".$p;
       }
 }
 $new_string = trim($new_string);  // to remove additional space at the beginnig

echo $new_string;

正如Davo的回答一样,stripos将为您提供一个不区分大小写的搜索

您需要使用stripos以获得最佳效率:。您的代码如下所示:

 $new_string = "";  

 foreach($phrases as $p) {

      $pos = stripos($string, $p);
      if ($pos !== false) {
         $new_string .= " ".$p;
       }
 }
 $new_string = trim($new_string);  // to remove additional space at the beginnig

echo $new_string;
与Davo的答案一样,stripos将为您提供不区分大小写的搜索功能

$matches = array();
foreach($phrases as $phrase) {
    if(stripos($string,$phrase) !== false){
        $matches[] = $phrase;
    }
}

$new_string = implode(" ",$matches);
试试这个功能

$matches = array();
foreach($phrases as $phrase) {
    if(stripos($string,$phrase) !== false){
        $matches[] = $phrase;
    }
}

$new_string = implode(" ",$matches);

你试过什么?这是非常简单的,或者至少是非常接近的。那么你试过什么呢?谷歌搜索?我搜索过,但只找到了提取单个单词的解决方案,似乎找不到提取包含多个单词的短语的解决方案。你尝试过什么?这是非常简单的,或者至少是非常接近的。那么你试过什么呢?谷歌搜索过吗?我搜索过,但只找到了提取单个单词的解决方案,似乎找不到提取包含多个单词的短语的解决方案。这似乎引入了一个额外的不必要的步骤。我们已经有了我们的短语,为什么还要麻烦子字符串呢?如果$pos为false,这里会发生什么呢?实际上,如果没有匹配项,strpos将返回false。stripos,因为大小写不同。另外,原始字符串已经在$p中,因此不需要substr调用,这将使它更快。这也将在字符串前面加一个空格,这就是为什么我在回答中内爆了一个数组。要这样做,您还需要在字符串上使用trim来删除不必要的空格。没有考虑到这一点,添加了它,但您的效果似乎更好+1这似乎引入了额外的不必要步骤。我们已经有了我们的短语,为什么还要麻烦子字符串呢?如果$pos为false,这里会发生什么呢?实际上,如果没有匹配项,strpos将返回false。stripos,因为大小写不同。另外,原始字符串已经在$p中,因此不需要substr调用,这将使它更快。这也将在字符串前面加一个空格,这就是为什么我在回答中内爆了一个数组。要这样做,您还需要在字符串上使用trim来删除不必要的空格right,没有考虑到这一点,添加了它,但是您的字符串看起来更好+1