我在字符串中有一个奇怪的空格,白色空格不是空格。用regex和str_replace转换它们有问题。
echo str_replace(' ','_',$string);
任何想法如何修复它? utf8_encode也不起作用,regex \ s,当你将这个文本复制到Notepad ++时它显示为
Ê
而不是空格。
我想要实现的是运行此正则表达式
preg_replace('/[^a-z0-9 ]/i','',$string)
但由于这些'空格'不是空格,所以它们也被删除了。
答案 0 :(得分:3)
我想我从PHP网站获得了它:
你可能想知道为什么
trim(html_entity_decode(' '));
不会将字符串缩减为空字符串,这是因为''实体不是ASCII代码32(由trim()剥离),而是默认ISO 8859-1字符集中的ASCII代码160(0xa0)。