function to erase swear words

时间:2016-01-20 作者:Justin Munce

是否有人使用了不打印脏话的功能?我们没有,我们为他们编辑,但给更多作家更多的出版特权,这可能会导致骂人的情况。我宁愿不打印文字,可能的话。

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

Basic Filtering

这只是一个简单的例子,如果你只是将其用于编辑,可能会在这里或那里出现失误,并在无意中插入脏话,那么它就会起作用。然而,如果你不得不担心人们试图“欺骗”他们的话,例如“focker、fuker等”,那么你可能需要更复杂的东西。

// Basic Implementation
function replace_words($content) {
    // $content = preg_replace("/hate/", "love", $content);
    $content = str_replace(\'hate\', \'love\', $content);
    $content = str_replace(\'foo\', \'bar\', $content);
    $content = str_replace(\'bad\', \'good\', $content);
return $content;
}

// Filter options
add_filter(\'the_content\',\'replace_words\', 2);
add_filter(\'the_excerpt\',\'replace_words\', 2);
add_filter(\'widget_text\',\'replace_words\', 2);
//add_filter(\'get_comment_text\',\'replace_words\', 11);
//add_filter(\'get_comment_excerpt\',\'replace_words\', 11);
或者,如果您有一堆单词,可以在数组中执行此操作:

function replace_words($text){
        $replace = array(
                // \'BAD WORD\' => \'GOOD WORD\'
                \'crap\' => \'poop\',
                \'boob\' => \'breast\',
                \'ugly\' => \'pretty\'
        );
        $text = str_replace(array_keys($replace), $replace, $text);
        return $text;
}
另外,如果使用上面的例子,请注意,因为您可能会遇到这样的情况,即您过滤掉了一些您并不打算。。。想想“地狱”这个词,其实可能就是“你好”。

PHPMYADMIN MYSQL

这允许您替换mysql中的单词,但如果这是您经常需要的东西,那么这并不是一个很好的解决方案。。。

UPDATE wp_posts SET post_content = REPLACE (
post_content,
\'hate\',
\'love\');

Plugins

有很多插件可以做到这一点,只需尝试其中一些。。。

WP Content Filter

Word Filter Plus

Web Purify

Text Obfuscator

Profanity Blocker

Replace Default Words

Bleep Filter

这只是举几个例子。在这些情况下,您最好只在wordpress插件目录中搜索“亵渎”、“替换文本”或“内容过滤器”之类的内容。。。。

Example Search:

https://wordpress.org/plugins/search.php?type=term&q=replace+text

相关推荐

如何在Functions.php中链接style.css

我是WordPress的新手;我刚开始学习WordPress。我想把风格联系起来。函数中的css。php,但我无法解决这里可能存在的问题。谁能给我指出正确的方向吗?指数php<?php get_header(); ?> <?php if ( have_posts() ) { while ( have_posts() ) { the_post();