我们有一个正则表达式去除非字母数字字符,除了'#','&'和' - '。这是它的样子:
preg_replace('/[^a-zA-Z0-9#&-*]/', '', strtolower($title));
现在我们需要支持繁体中文字符串,上面的功能不起作用。如何为传统中文实现类似的功能。
谢谢,
答案 0 :(得分:3)
使用u
修饰符:
preg_replace(`/[^a-zA-Z0-9#&-*诶]/u`, '', $string);
顺便说一下,不要使用strtolower()
,因为它会破坏你的字符串。使用mb_strtolower()
:
mb_strtolower($string, 'UTF-8');
答案 1 :(得分:0)
您是否尝试过mb_ereg_replace()而不是preg_replace()?这可能会成功。