本文总结了目前市面上常见的CMS系统,关于广告行业的违禁词过滤问题,掌握了这种方法,能让您的工作事半功倍,轻松应对各类违禁词、极限词,再也不一一个一个去筛选了。
个:wordpress系统违禁词过滤
思路:后台添加违禁词,前端运行时自动过滤。
add_action(‘admin_init’, ‘ad_blogroll_settings_api_init’);
add_action(‘admin_init’, ‘ad_blogroll_settings_api_init’);
function ad_blogroll_settings_api_init() {
add_settings_field(‘ad_blogroll_setting’, ‘广告违禁词’, ‘ad_blogroll_setting_callback_function’, ‘reading’);
register_setting(‘reading’,’ad_blogroll_setting’);
}
function ad_blogroll_setting_callback_function() {
echo ‘<textarea name=”ad_blogroll_setting” rows=”10″ cols=”50″ id=”ad_blogroll_setting” class=”large-text code”>’ . get_option(‘ad_blogroll_setting’) . ‘</textarea>’;
}
function replace_text_wps($text){
$replace =explode(“|”,get_option(‘ad_blogroll_setting’));
$text = str_replace($replace,”, $text);
return $text;
}
add_filter(‘the_content’, ‘replace_text_wps’);
add_filter(‘the_excerpt’, ‘replace_text_wps’);
add_filter(‘the_title’, ‘replace_text_wps’);
将以上代码添加到function.php中,关于违禁词过滤,就会变成轻松的工作,如下:
对于dedecms系统更简单,直接对标签进行操作,在标签中运行PHP即可,代码如下:
{dede:field.title runphp=’yes’}
$rs=iconv(‘GB2312’, ‘UTF-8′, file_get_contents(“http://127.0.0.1/ad.txt”));
$a=explode(“|”,$rs);
@me=str_replace($a,’X’,”@me”);
{/dede:field.title}
后期你只需要往网站根目录下上传一个ad.txt,里面罗列下违禁词,单个词用|隔开即可,熟悉dedecms标签的人一看就能明白,想过江滤哪里就替换哪里,非常方便。
注意:请保证dedecms系统可以在模板中运行php,至于如何操作,这里不在说了。
第三个系统:帝国CMS
帝国CMS相比dedecms来说,处理这个问题更简单,我们用同样的思路,代码如下:
<?php
$rs=iconv(‘GB2312’, ‘UTF-8′, file_get_contents(“http://127.0.0.1/ad.txt”));
$a=explode(“|”,$rs);
echo str_replace($a,’X’,”$navinfor[newstext]”);
?>
关于$navinfor数组的键值,其实就是文章表中的底层字段,可以直接打开数据库查看,同样想替换哪里替换哪里。
第四个:sdcms
直接安装access,批量替换数据库吧。
以上就是常见的极限词过滤方法,希望能够帮到你!
游客回答:(0)