php用正则表达抓取网页中文章(我正在使用PHP中的一些代码从搜索引擎中获取引荐来源)

优采云 发布时间: 2021-11-26 22:01

  php用正则表达抓取网页中文章(我正在使用PHP中的一些代码从搜索引擎中获取引荐来源)

  我在 PHP 中使用一些代码从搜索引擎获取引用数据,从而为我提供用户输入的查询。

  然后,我想从该字符串中删除一些停用词(如果存在)。但是,单词的两端可能有也可能没有空格。

  比如我一直使用str_replace删除单词如下:

  $keywords = str_replace("for", "", $keywords);

$keywords = str_replace("sale", "", $keywords);

  但是,如果$keywords 的值是“婴儿配方奶粉”,则会改为“婴儿奶粉”——删除“for”部分。

  不需要再创建str_replace,也就是解释“for”和“for”——是否可以使用preg_replace类型命令删除给定的单词,如果发现单词两端有空格?

  我的想法是把所有的停用词放到一个数组中,按照这种方式一步步执行,我怀疑preg_replace比单步遍历多条str_replace行要快。

  更新:

  感谢您使用以下组合:

  $keywords = "...";

$stopwords = array("for","each");

foreach($stopwords as $stopWord)

{

$keywords = preg_replace("/(\b)$stopWord(\b)/", "", $keywords);

}

  解决方案:

  $keywords = "...";

$stopWords = array("for","sale");

foreach($stopWords as $stopWord){

$keywords = preg_replace("/(\b)$stopWord(\b)/", "", $keywords);

}

  标签: php, regex, preg-replace

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线