有没有办法获得wp_EDITOR(Tinymce)内容?

时间:2019-02-17 作者:niznet

我想获得wp\\u编辑器(tinymce)的内容,然后用regex按特定单词查找一个句子。但是,不知道如何获取内容

发布或更新帖子时,该函数将获取内容,然后根据特定单词查找句子。

我的正则表达式可以得到一整句话:

$regex = \'/<p>Chapter(.*?)<\\/p>/\'; //Specific Word = Chapter
$chapnumber = \'\';
$chaptitle = \'\';
$chapcontent = "<p>Chapter 136 – Tibet and West Turk</p>"; //This should be the content
if (preg_match($regex, $chapcontent, $matches)) {
    echo $matches[1];
}
有什么解决办法吗?

3 个回复
SO网友:Brada

我还不能发表评论。。。因此,我将使用一个答案,我认为您需要使用“wp\\u insert\\u post\\u data”过滤器。

您可以在第3523行中看到:https://developer.wordpress.org/reference/functions/wp_insert_post/

函数需要有一个参数,即数组。从那里,您应该从“post\\u content”键获取内容。

add_filter( \'wp_insert_post_data\', \'example\' );
function example( $data ){
    $post_content = $data[\'post_content\'];
    // ... do your stuff
    $data[\'post_content\'] = $post_content;
    return $data
}
注意:这不会获取tinymce内容,而是在将其引入数据库之前获取数据。您还应该注意短代码,我认为您不能通过该过滤器修改短代码中的内容。希望它能帮助你或其他人。

SO网友:Antti Koskinen

您可以将筛选函数挂接到save_post 操作,然后从$_POST 变量或使用get_post($post_id) 用于过滤。

SO网友:niznet

由我自己修复,而不是使用ajax。这对我来说更简单:

$post_content = wpautop( $post->post_content );

相关推荐

是否可以使用unctions.php将文本插入到html标记中?

我的意思是:我正在使用一个名为“pods”的插件,它允许创建自定义(CPT)并在这些CPT之间建立关系。然而,我可以看到一个小小的缺陷,我为美国各州创建了一个CPT,所以每个CPT都是一个单独的州,这意味着在这个CPT中创建的每个帖子都有州的标题。下面是HTML和相关CSS<header class=\"entry-header clr\"> <h2 class=\"single-post-title entry-title\" itemprop=\"headline\"