PHP多字节字符串正则表达式 [英] php multi byte strings regex

查看:145
本文介绍了PHP多字节字符串正则表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一个正则表达式可去除#",&"以外的非字母数字字符和 '-'.这是它的样子:

We have a regex to strip out non alpha numeric characters except for '#', '&' and '-'. Here is what it looks like:

preg_replace('/[^a-zA-Z0-9#&-*]/', '', strtolower($title));

现在,我们需要支持繁体中文字符串,并且以上功能将不起作用.如何为繁体中文实现类似的功能.

Now we need to support traditional Chinese strings and the above function won't work. How can I implement similar functionality for traditional Chinese.

谢谢

推荐答案

使用u修饰符:

preg_replace(`/[^a-zA-Z0-9#&-*诶]/u`, '', $string);

顺便说一句,不要使用strtolower(),因为它会破坏您的字符串.使用mb_strtolower():

By the way, don't use strtolower(), because it will break your string. Use mb_strtolower():

mb_strtolower($string, 'UTF-8');

这篇关于PHP多字节字符串正则表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆