是否有一个无法使用重音的正则表达式?
例如:
preg_replace("/$word/i","<b>$word</b>",$str);
正则表达式中的“i”是忽略大小写敏感的,但是还是有比例的匹配
java与Jávã?
我尝试制作$str的副本,将内容更改为无重音字符串,并找到所有出现的索引.但是,两个字符串的索引似乎是不同的,尽管它只是没有重音.
(我做了一个研究,但我可以找到的是如何从字符串中删除重音)
我不认为有这样的一种方式.这将取决于区域设置,并且您可能首先需要一个“/ u”开关来在模式字符串中启用UTF-8.
原文链接:https://www.f2er.com/regex/357049.html我可能会这样做.
function prepare($pattern) { $replacements = Array("a" => "[áàäâ]","e" => "[éèëê]" ...); return str_replace(array_keys($replacements),$replacements,$pattern); } pcre_replace("/(" . prepare($word) . ")/ui","<b>\\1</b>",$str);
在你的情况下,索引是不同的,因为除非你使用mb_string,否则你可能正在处理每个字符使用多个字节的UTF-8.