从一些字符串到空格开始时查找字符串中的子字符串(整个单词)

时间:2015-12-15 12:37:09

标签: php space substr strpos

我试图从字符串中找到子字符串并从中开始宽度字 - $ search。现在,它正在工作但我希望找到整个单词到空格的子字符串。怎么做?

我正在使用:



  $results[] = [ 'value' => substr(strip_tags($query->content), strpos(strip_tags($query->content),$search) ,30)];




我也尝试过:



 $results[] = [  'value' => substr(strip_tags($query->content), strpos(strip_tags($query->content),$search) ,strpos(strip_tags($query->content), ' ',30))];




但它发现子串不是间隔。

编辑:我做了,但所有记录都重复了两次。我只需要两次显示标题和内容。我不得不为$ match进行循环,但现在,recoreds重复。如何解决?感谢。



foreach ($sql as $query) {


preg_match('#(' . preg_quote($search, '#') . '.{30,}?)\s#', strip_tags($query->content), $matches);

foreach($matches as $key=>$val) {
$results[] = [  'id' => $query->title, 'value' => $val];
}

}

return $results;




1 个答案:

答案 0 :(得分:1)

这可以通过正则表达式轻松完成

preg_match('#(' . preg_quote($search, '#') . '.{30,}?)\s#', strip_tags($query->content), $match);
$results[] = [ 'value' => $match[1] ];