【发布时间】:2017-12-29 08:47:37
【问题描述】:
所以我目前使用 preg_grep 来查找包含字符串的行,但是如果一行包含特殊字符,例如“-.@”,我可以简单地键入该行中的 1 个字母,它将作为匹配输出。线条示例
example@users.com
搜索请求
ex
它会输出
example@users.com
但是如果搜索请求匹配“example@users.com”,它应该只输出“example@users.com”这个问题只发生在使用特殊字符的行上,例如
如果我在包含
的行上搜索“示例”example123
它会响应
not found
但如果我搜索确切的字符串“example123”
它当然也会像它假设的那样输出
example123
所以问题似乎在于包含特殊字符的行..
我目前对 grep 的使用是,
if(trim($query) == ''){
$file = (preg_grep("/(^\$query*$)/", $file));
}else{
$file = (preg_grep("/\b$query\b/i", $file));
【问题讨论】: