提问者:小点点

Wordpress preg_replace'


我有

This is an Example of how my text looks

相信放在“functions.php”中的代码应该用空格替换标记

add_filter( 'wp_insert_post_data' , 'nbsp_remover' , '99', 2 );

function nbsp_remover($data) {
    $pattern = '/\&nbsp\;/';
    $data['post_content'] = preg_replace($pattern, ' ', $data['post_content']);
    return $data;
}

但这不起作用。

  • 我测试了正则表达式,它运行正常
  • 当我将模式更改为文本中的单词时,它会起作用

但不是用

任何想法?

编辑1

当转储$data时,建议使用var_dump($data['post_content']); die;

手动创建新帖子,打开空白窗口,显示:

数组(21){[“post_author”]=

编辑2这与\xA0或'

add_filter( 'wp_insert_post_data' , 'nbsp_remover' , '99', 2 );

function nbsp_remover($data) {
    return str_replace('\xA0', '', $data); 
}

共1个答案

匿名用户

好吧,我通过绕过它解决了我的问题。。。

如上所述,我找不到删除的方法

我能够编辑的帖子之前,他们得到发送和阅读WordPress.所以在WP中创建帖子之前,我用一个特殊的字符替换了所有的空格,并使用正则表达式代码用空格替换了该字符。