gpt4 book ai didi

php - preg_match 字符串中的所有单词

转载 作者:可可西里 更新时间:2023-11-01 00:44:33 24 4
gpt4 key购买 nike

寻找可能性来检测 $string 是否匹配 $array 中的所有单词。事先不知道单词顺序(用户输入的文本)。

array(
'test',
'shmest',
'zest',
'fest',
'etcest'
);

我明白我可以:

$is_match = true;
foreach ($array as $word) {
if (!strpos($string, $word) === false) {
$is_match = false;
break;
}
}

(可以|应该)我通过 preg_match[_all] 制作类似上面的东西吗?

编辑1

优先考虑的是更少的内存和更快的工作。

测试了 2 个答案和自己的以上 https://eval.in/144266所以我的最快

并且$string可以包含任何符号

最佳答案

您可以使用 LookAheads 创建 RegEx:

$regex='/(?=.*?'.implode(')(?=.*?', $needles).')/s';

然后简单检查你的字符串:

if (preg_match($regex,$string)===1) echo 'true';

演示代码:https://eval.in/144296
解释正则表达式:http://regex101.com/r/eQ0hU4

关于php - preg_match 字符串中的所有单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23381471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com