preg_match_all()对包含特殊字符的字符串[重复]

问题描述 投票:0回答:1

此问题已经在这里有了答案:

我正在尝试preg_match $ data中的确切单词(在本例中为'gr')。我有以下代码:

$data = "he is grêt";
preg_match_all("/\b(gr)#?\b/i", $data, $output);
print_r($output);

这将输出以下内容:

Array
(
[0] => Array
    (
        [0] => gr
    )

[1] => Array
    (
        [0] => gr
    )
)

'gr',它与'grêt'不完全匹配,因此不应该匹配。我相信这与'ê'字符有关;当将其替换为'e'时,代码将按预期工作。

Demo code.

php regex special-characters preg-match-all
1个回答
0
投票

我会这样做的方式:

$data = "he is grêt";
preg_match_all("/\b(gr)(?:\PL|$)/iu", $data, $output);
print_r($output);
© www.soinside.com 2019 - 2024. All rights reserved.