【发布时间】:2015-07-27 08:52:24
【问题描述】:
我有以下 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 忽略所有重音符号?
必须匹配的字符(西班牙语):
á,Á,é,É,í,Í,ó,Ó,ú,Ú,ñ,Ñ
我不想在应用正则表达式之前替换所有重音字符,因为文本中的字符应该保持不变:
“这是我的 foo 文本,带有 qué 和其他重音字符。”
而不是
“这是我的 foo 文本,带有 que 和其他重音字符。”
【问题讨论】:
-
实际上它对我有用。看屏幕截图:- prntscr.com/75gj1w
-
@A-2-A 不。
qué未突出显示。
标签: php regex character non-ascii-characters accent-insensitive