资讯专栏INFORMATION COLUMN

查找到文中的关键字,给关键字添加上超级链接

NicolasHe / 646人阅读

摘要:查找到文中的关键字,给关键字添加上超级链接,如果有进行关键词替换的需求仍然可以基于这个类进行修改。替换顺序按照数组的索引来的,可以把规则写入数据里,并添加权重字段,可以动态调整关键词替换或者添加超级链接的优先级。

查找到文中的关键字,给关键字添加上超级链接。

查找到文中的关键字,给关键字添加上超级链接,如果有进行关键词替换的需求仍然可以基于这个类进行修改。
替换顺序按照数组的索引来的,可以把规则写入数据里,并添加权重字段,可以动态调整关键词替换或者添加超级链接的优先级。


 * Date: 2019-06-06
 * Time: 09:19
 */

class addLink
{
    protected $content = "";
    protected $replace_rules = [];

    public function __construct($content, $replace_rules)
    {
        $this->content       = $content;
        $this->replace_rules = $replace_rules;
    }

    public function do_replace()
    {
        //执行替换返回替换后的字符串
        if (!empty($this->replace_rules)) {
            foreach ($this->replace_rules as $rule) {
                $this->content = preg_replace("/(?!<[^>]*)" . $rule["key_word"] . "(?![^<]*(>|" . $rule["key_word"] . "",
                    $this->content,
                    $rule["replace_times"],
                    $count);//通过判断count字段大于0 可以得知替换结果
            }
        }
        return $this->content;
    }
}

$rule = [
    [
        "key_word"      => "中国人",//关键词
        "url"           => "http://www.baidu.com?id=中国人",//需要加的超链
        "target"        => "_blank",//打开方式
        "replace_times" => 1,//允许替换的次数次数 -1为不限制次数!
    ], [
        "key_word"      => "中国",//关键词
        "url"           => "http://www.baidu.com?id=中国",//需要加的超链
        "target"        => "_blank",//打开方式
        "replace_times" => 1,//允许替换的次数次数 -1为不限制次数!
    ],
    [
        "key_word"      => "人",
        "url"           => "http://www.baidu.com?id=人",
        "target"        => "_blank",
        "replace_times" => 1,
    ],
];
$obj  = new addLink("我是中国人", $rule);
echo $obj->do_replace();

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31659.html

相关文章

  • 看完这篇Linux基本操作就会了

    摘要:前言只有光头才能变强这个学期开了的课程了,授课的老师也是比较负责任的一位。开源,可被定制,开放,多用户的网络操作系统。三常用的命令上面说了一堆的基础概念,这是给我们敲命令之前打了一点基础,在敲命令的同时也会遇到一些比较重要的知识点的。 前言 只有光头才能变强 这个学期开了Linux的课程了,授课的老师也是比较负责任的一位。总的来说也算是比较系统地学习了一下Linux了~~~ 本文章主要...

    AZmake 评论0 收藏0
  • 前端知识点总结——HTML

    摘要:跨列从指定单元格的位置处开始,横向向右合并几个单元格包含自己,被合并的单元格要删除。 前端知识点总结——HTML HTML:HTML4.01 指的就是网页技术HTML5:HTML4.01的升级版本 1.web的基础知识 web与Internet 1.Internet:全球性的计算机互联网络,因特网,互联网,交互网 2.提供服务 访问网站:www(world wide web)服务 ...

    sourcenode 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<