Php 如何使Wordpress编辑器不接受HTML?

Php 如何使Wordpress编辑器不接受HTML?,php,wordpress,Php,Wordpress,因此,基本上,我在我的网站上使用Wordpress编辑器,我不希望我的用户在其中发布任何HTML,因为它可能会导致一些问题 我的Wordpress编辑器当前是这样的: <?php wp_editor( get_the_content() , 'post_content'); ?> 简单来说,我基本上希望它看起来像一个简单的HTMLtextarea,并去掉所有HTML标记(就像PHP函数strip_tags所做的那样)。尽管我不能让这个PHP功能与一个简单的textarea一起工

因此,基本上,我在我的网站上使用Wordpress编辑器,我不希望我的用户在其中发布任何HTML,因为它可能会导致一些问题

我的Wordpress编辑器当前是这样的:

<?php wp_editor( get_the_content() , 'post_content'); ?>

简单来说,我基本上希望它看起来像一个简单的HTML
textarea
,并去掉所有HTML标记(就像PHP函数
strip_tags
所做的那样)。尽管我不能让这个PHP功能与一个简单的textarea一起工作……不知道为什么,只是我的主题有一个编码问题


所以,是的,这样做是可能的吗?

因为
获取内容()
返回一个输入内容的字符串,它只是用户的输入,未过滤,例如:
“这是一个未过滤的字符串,包含潜在的HTML!

如果您正在初始化编辑器,您是否可以在初始化期间对所述输入调用
strip\u tags

<?php wp_editor( strip_tags(get_the_content()), 'post_content'); ?>


最后的文本将与通过
strip_tags
运行时一样:
“这是一个未过滤的字符串,可能包含HTML!”

我认为您可以使用
array_map
来剥离数据库中保存的所有数组元素的标记。


$save_to_db=array_map('strip_tags',$save_to_db);

最简单的方法是挂接在数据库中更新帖子之前运行的过滤器。然后,您可以剥离标签或与帖子的内容和其他属性进行任何其他交互

下面是一个示例代码,用于在保存帖子之前删除任何标记:

function my_remove_content_html( $data ){
    $data['post_content'] = strip_tags( $data['post_content'] );

    return $data;
}
您可以仅为管理员启用HTML标记,如下所示:

function my_remove_content_html( $data ){
    if ( ! is_super_admin() ) {
        $data['post_content'] = strip_tags( $data['post_content'] );
    }

    return $data;
}
function my_remove_content_html( $data ){
    if ( 'post' == $data['post_type'] ) {
        $data['post_content'] = strip_tags( $data['post_content'] );
    }

    return $data;
}
您还可以将标签的剥离限制为特定的帖子类型,如下所示:

function my_remove_content_html( $data ){
    if ( ! is_super_admin() ) {
        $data['post_content'] = strip_tags( $data['post_content'] );
    }

    return $data;
}
function my_remove_content_html( $data ){
    if ( 'post' == $data['post_type'] ) {
        $data['post_content'] = strip_tags( $data['post_content'] );
    }

    return $data;
}

不幸的是,这只从数据库加载内容,没有任何HTML。他们仍然能够在编辑器中键入HTML并将其保存到数据库中。因此,他们的HTML将保存到数据库并显示在网站上,直到他们再次编辑帖子。啊,那么你想首先阻止他们这样做吗?多么有趣啊ction用于将表单数据提交到数据库,那么?是的,这是正确的。否则,他们可以提交带有大量
h1
s和其他烦人内容的帖子。它正在构建一个数组,将其保存为
post
,这样就可以将其保存在数据库中。之前,我曾尝试将
post
变量包装在
strip\u tags
中e它被保存…虽然仍然没有运气。嗯,这可能非常有用。我们将尝试并报告。这个问题似乎是离题的,因为它是关于WordPress的,并且已经在这里被询问和回答: