我们有一个正则表达式来剔除除“#”、“&”和“-”之外的非字母数字字符。下面是它看起来的样子:
preg_replace('/[^a-zA-Z0-9#&-*]/', '', strtolower($title));现在我们需要支持繁体中文字符串,上面的函数将不起作用。我如何为繁体中文实现类似的功能。
谢谢,
发布于 2011-08-13 03:52:00
使用u修改器:
preg_replace(`/[^a-zA-Z0-9#&-*诶]/u`, '', $string);顺便说一句,不要使用strtolower(),因为它会打断您的字符串。使用mb_strtolower()
mb_strtolower($string, 'UTF-8');发布于 2011-08-13 03:49:47
你有没有试过用mb_ereg_replace()代替preg_replace()?这可能会起作用。
http://www.php.net/manual/en/function.mb-ereg-replace.php
https://stackoverflow.com/questions/7045529
复制相似问题