PHP mb_ereg_replace 未替换,而 preg_replace 按预期工作
我正在尝试将字符串中所有非单词字符替换为空字符串(除了空格),并将所有多个空格放在一起作为一个空格。
以下代码执行此操作。
$cleanedString = preg_replace('/[^\w]/', ' ', $name);
$cleanedString = preg_replace('/\s+/', ' ', $cleanedString);
但是当我尝试使用 mb_ereg_replace 时什么也没有发生。
$cleanedString = mb_ereg_replace('/[^\w]/', ' ', $name);
$cleanedString = mb_ereg_replace('/\s+/', ' ', $cleanedString);
$cleanedString 与上述情况下的 if $name 相同。我做错了什么?
I am trying to replace in a string all non word characters with empty string expect for spaces and the put together all multiple spaces as one single space.
Following code does this.
$cleanedString = preg_replace('/[^\w]/', ' ', $name);
$cleanedString = preg_replace('/\s+/', ' ', $cleanedString);
But when I am trying to use mb_ereg_replace nothing happens.
$cleanedString = mb_ereg_replace('/[^\w]/', ' ', $name);
$cleanedString = mb_ereg_replace('/\s+/', ' ', $cleanedString);
$cleanedString is same as of that if $name in the above case. What am I doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
mb_ereg_replace
不使用分隔符。您之前可能需要也可能不需要指定编码。mb_ereg_replace
doesn't use separators. You may or may not also have to specify the encoding before.请
检查是否可以并支持英语和unicode
}
please check is it ok and support english and unicode
输入不是 多字节,因此是
mb
函数失败。The input is not Multi-Byte hence the
mb
function fails.