正则表达式忽略口音? PHP

前端之家收集整理的这篇文章主要介绍了正则表达式忽略口音? PHP前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有一个无法使用重音的正则表达式?

例如:

preg_replace("/$word/i","<b>$word</b>",$str);

正则表达式中的“i”是忽略大小写敏感的,但是还是有比例的匹配
java与Jávã?

我尝试制作$str的副本,将内容更改为无重音字符串,并找到所有出现的索引.但是,两个字符串的索引似乎是不同的,尽管它只是没有重音.

(我做了一个研究,但我可以找到的是如何从字符串中删除重音)

我不认为有这样的一种方式.这将取决于区域设置,并且您可能首先需要一个“/ u”开关来在模式字符串中启用UTF-8.

我可能会这样做.

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.

原文链接:https://www.f2er.com/regex/357049.html

猜你在找的正则表达式相关文章