我正在使用以下reg-ex,它可以正常匹配数组的正常字符串,
preg_grep( "/^". $name . "$/i", $values);
然而,它不适用于具有“娱乐(常规)”等特殊字符的字符串。
找到一个相关的thread但它的java脚本,它也无济于事。
答案 0 :(得分:5)
使用preg_quote
函数转义字符串中可能包含的任何特殊字符:
preg_grep( "/^". preg_quote($name, '/') . "$/i", $values);
preg_quote()
在作为正则表达式语法一部分的每个字符前放置一个反斜杠。如果您有一个需要在某些文本中匹配的运行时字符串,并且该字符串可能包含特殊的正则表达式字符,这将非常有用。