为了账号安全,请及时绑定邮箱和手机立即绑定

使用正则表达式在数组中搜索多个字符串

使用正则表达式在数组中搜索多个字符串

PHP
郎朗坤 2021-10-22 16:57:18
输入字段通过 AJAX 连接到 PHP,PHP 连接到 API,该 API 返回艺术家和曲目名称结果。将其视为实时搜索功能。然而,API 会发送需要过滤掉的膨胀。询问:迈克尔·杰克逊比利·琼结果:迈克尔杰克逊 - 比莉简迈克尔杰克逊 - 流畅的罪犯各种艺术家 - 比利·简结果存储在一个数组中。如何过滤掉没有包含所有搜索词的结果?在这种情况下,结果 2 和 3。我尝试使用preg_grep但它搜索 1 个字符串。$q = $_GET['q']; //michael jackson billie jean$strings = explode(' ', $q);$tracks = [  "Michael Jackson - Billie Jean",  "Michael Jackson - Smooth Criminal",  "Various artists - Billie Jean"];$matches = preg_grep('/' . $strings[0] . '/i', $tracks);基本正则表达式适用于第一个字符串。但是它需要将所有字符串与数组值匹配。循环遍历轨道数组并对每个项目执行 preg_grep 会向新数组添加许多重复项。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 189 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信