加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 正则表达式也匹配重音字符

发布时间:2020-12-13 16:56:31 所属栏目:PHP教程 来源:网络整理
导读:我有以下 PHP代码: $search = "foo bar que";$search_string = str_replace(" ","|",$search);$text = "This is my foo text with qué and other accented characters.";$text = preg_replace("/$search_string/i","b$0/b",$text);echo $text; 显然,“que
我有以下 PHP代码:

$search = "foo bar que";
$search_string = str_replace(" ","|",$search);

$text = "This is my foo text with qué and other accented characters.";
$text = preg_replace("/$search_string/i","<b>$0</b>",$text);

echo $text;

显然,“que”与“qué”不匹配.我怎么能改变呢?有没有办法让preg_replace忽略所有重音?

必须匹配的字符(西班牙语):

á,á,é,é,í,í,ó,ó,ú,ú,?,?

我不想在应用正则表达式之前替换所有重音字符,因为文本中的字符应该保持不变:

“这是我用fé和其他重音字符的foo文字.”

并不是

“这是我的foo文本,带有que和其他重音字符.”

解决方法

$search = str_replace(
   ['a','e','i','o','u','?'],['[aá]','[eé]','[ií]','[oó]','[uú]','[n?]'],$search)

这个和大写相同会抱怨你的请求.旁注:’替换声音对我来说无效,因为’ni?o’与’nino’完全不同

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读