我们有一个正则表达式,可以去除非字母数字的字符,但'#'、'&'和'-'除外。以下是它的样子:
preg_replace('/[^a-zA-Z0-9#&-*]/', '', strtolower($title));
现在我们需要支持繁体中文字符串,而上面的功能无法实现。我该如何为繁体中文实现类似的功能呢?
谢谢。
u
修饰符:preg_replace(`/[^a-zA-Z0-9#&-*诶]/u`, '', $string);
顺便提一下,不要使用strtolower()
,因为它会破坏你的字符串。请使用mb_strtolower()
:
mb_strtolower($string, 'UTF-8');