自动用空格替换 

时间:2021-05-02 作者:Dandan

在我的WooCommerce在线商店中,我经常从OEM网页复制和粘贴产品描述。这在大多数情况下都很有效,但是根据站点的不同,空间有时会被编码为&;nbsp。虽然这在浏览器中呈现得很好,但确实会导致文本换行问题,因为浏览器似乎将字符串视为一个长单词(因此文本将不可避免地溢出,除非我使用分词符,分词符只会在中间打断单词)。理想情况下,我想要的是能够自动转换这些;nbsp到常规空格字符。这是否可能,是否存在任何不利因素,以及需要考虑哪些其他解决方案?

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

是的,这是可能的。您可以在保存帖子时执行此操作,也可以在渲染时执行此操作(这不会更改编辑器中的实际内容)。

使用the_content 过滤器,替换渲染中的字符:

function wpse_387560( $content ) {
    $content = str_replace( \' \', \' \', $content );
    return $content;
}

add_filter( \'the_content\', \'wpse_387560\' );
使用wp_insert_post_data 钩子,保存时在内容中替换它们:

function wpse_387560( $data ) {
    $data[\'post_content\'] = str_replace( \' \', \' \', $data[\'post_content\'] );
    return $data;
}

add_filter( \'wp_insert_post_data\', \'wpse_387560\' );

相关推荐