如何停止WordPress保存UTF8不间断空格字符

时间:2014-11-13 作者:Mattias Fjalestad

有人知道如何用空格x20替换Wordpress在DB中保存utf8空格字符(=十六进制C2 A0)吗?

是否有一个钩子可以用来在保存到表之前进行替换?

背景:  在编辑器(记事本、记事本++、Wordpress等)中看起来像任何其他“空格”字符,但实际上隐藏在2字节代码中(\\xc2\\xa0) 如果通过十六进制编辑器查看。

问题:css word wrap会导致句子不按应有的方式进行包装,因为它知道这是一个“不间断的空格”。

用户体验:当有人从其他来源(网站、word文档等)复制并粘贴时,有时原始空间是  用户看不到也不知道这一点,因为他们不像我们那样专注于技术。

这里有人有解决方案的想法或建议吗?

Thx公司

1 个回复
最合适的回答,由SO网友:Rarst 整理而成

帖子的初始创建和更新都会通过wp_insert_post_data (除其他过滤器外)。您可以修改post_content 在继续保存到数据库之前,传递数组中的项以进行所需的替换。

Update 从注释粘贴的代码

add_filter( \'wp_insert_post_data\', \'rm_wp_insert_post_data\', \'99\', 2 );
function rm_wp_insert_post_data ( $data , $postarr ) {
   return str_replace("\\xc2\\xa0", " ", $data); 
}

结束

相关推荐