PbootCms扩展标签之广告敏感词替换

PbootCms扩展标签之广告敏感词替换

教程前言

最近有个客户来咨询广告敏感词的问题,客户使用的是ASPCMS系统,这个系统已经被我放弃了,推荐客户使用PbootCms来做,客户不愿意,实在提不起兴趣搞考古研究。

但是呢这个想法是不错的,可以做进pbootCms扩展里啊。

Ps: Pb后台有敏感词过滤,但是并没有替换,比如将最佳,替换为更佳,诸如此类。

准备工作

这些词没地方放是个问题。我们就放在PbootCms的定制标签中吧。

新建一个定制标签,标签名字一定是:disablewords,选择多行文本,新建好之后,填入

最佳,更佳
最具,更具
.....

前面是需要过滤的,后面是替换词,替换词留空就是直接过滤掉。

文章末尾会提供一个较为完整的过滤文本。

执行代码

前提条件是需要做一个操作,请移步:PbootCms扩展控制器源码分享,照着这个教程中,修改/apps/home/controller/ParserController.php文件中的扩展标签代码顺序。

修改完之后我们来写本教程的代码

文件位置:apps\\home\\controller\\ExtLabelController.php

    //禁用词
    private function disablewords(){
        $words = \\core\\basic\\Db::table('ay_label')->field('value')->where("name='disablewords'")->find();
        if(!!$words){
            $textlist = explode('<br>', $words->value);
            foreach ($textlist as $k => $v) {
                $jg = strpos($v, ",") ? "," : ',';
                $ciar = explode($jg, $v);
                $this->content = str_replace($ciar[0], (isset($ciar[1]) ? $ciar[1] : ''), $this->content);
            }
        }
    }

在上面的run方法中,加入该方法

    /* 必备启动函数 */
    public function run($content)
    {
        // 接收数据
        $this->content = $content;

        //广告词违禁词替换
        $this->disablewords();

        // 返回数据
        return $this->content;
    }

这样就完成了广告敏感词的过滤。如果不需要使用这个功能,可以讲

//$this->disablewords();

这一行注释掉即可。

下载权限
查看
  • 免费下载
    评论并刷新后下载
    登录后下载
  • {{attr.name}}:
您当前的等级为
登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
您已获得下载权限 您可以每天下载资源次,今日剩余
插件应用

【付费教程】优化PbootCms的轮播图片为广告管理

2024-3-30 8:51:41

插件应用

清理PbootCMS建站系统中的冗余图片

2024-4-10 8:55:56

个人中心
今日签到
有新私信 私信列表
搜索