首页 > php教程 > php手册 > 正文

PHP文章关键词相似短尾长尾内链替换方法介绍

php中文网
发布: 2016-06-06 19:43:26
原创
2079人浏览过

对于互联网程序来说,对文字正文内容做关键词内链优化是常态的工作之一。一方面有人手动来处理关键词内链,这个效率太低;一方面通过程序自动添加内链,这样子也省事而且便于管理; 今天我们探讨的就是给自动给文章增加内链的方法。 文章内链: 铁牛 http://

对于互联网程序来说,对文字正文内容做关键词内链优化是常态的工作之一。一方面有人手动来处理关键词内链,这个效率太低;一方面通过程序自动添加内链,这样子也省事而且便于管理;

今天我们探讨的就是给自动给文章增加内链的方法。

文章内链:

铁牛 http://www.111.com

李铁牛 http://www.222.com

立即学习PHP免费学习笔记(深入)”;

李铁牛是铁牛 http://www.333.com

李铁牛是铁牛山的铁牛 http://www.444.com

文字内链存储的数组

<span>$keywordArr</span>=<span>array</span><span> (
    </span>0 => <span>array</span> ('title' => '李铁牛是铁牛山的铁牛','url' => 'http://www.444.com',),
    1 => <span>array</span> ('title' => '李铁牛是铁牛山','url' => 'http://www.333.com',),
    2 => <span>array</span> ('title' => '李铁牛','url' => 'http://www.222.com',),
    3 => <span>array</span> ('title' => '铁牛','url' => 'http://www.111.com',),);
登录后复制

 

文章正文:

这是我下面对内链关键词的举例哈。铁牛爱美女,李铁牛喜欢有情调的生活。铁牛也是牛,铁牛喜欢喝酒喜欢妹妹喜欢打拳健身,李铁牛也是牛,铁牛山的铁牛是李铁牛,李铁牛是铁牛山的铁牛。牛牛牛。
登录后复制

替换过的正文html

这是我下面对内链关键词的举例哈。<span><</span><span>a </span><span>href</span><span>="http://www.111.com"</span><span> target</span><span>="_blank"</span><span>><</span><span>strong </span><span>class</span><span>="keylink"</span><span>></span>铁牛<span></</span><span>strong</span><span>></</span><span>a</span><span>></span>爱美女,<span><</span><span>a </span><span>href</span><span>="http://www.222.com"</span><span> target</span><span>="_blank"</span><span>><</span><span>strong </span><span>class</span><span>="keylink"</span><span>></span>李铁牛<span></</span><span>strong</span><span>></</span><span>a</span><span>></span>喜欢有情调的生活。<span><</span><span>a </span><span>href</span><span>="http://www.111.com"</span><span> target</span><span>="_blank"</span><span>><</span><span>strong </span><span>class</span><span>="keylink"</span><span>></span>铁牛<span></</span><span>strong</span><span>></</span><span>a</span><span>></span>也是牛,铁牛喜欢喝酒喜欢妹妹喜欢打拳健身,<span><</span><span>a </span><span>href</span><span>="http://www.222.com"</span><span> target</span><span>="_blank"</span><span>><</span><span>strong </span><span>class</span><span>="keylink"</span><span>></span>李铁牛<span></</span><span>strong</span><span>></</span><span>a</span><span>></span>也是牛,铁牛山的铁牛是李铁牛,<span><</span><span>a </span><span>href</span><span>="http://www.444.com"</span><span> target</span><span>="_blank"</span><span>><</span><span>strong </span><span>class</span><span>="keylink"</span><span>></span>李铁牛是铁牛山的铁牛<span></</span><span>strong</span><span>></</span><span>a</span><span>></span>。牛牛牛。
登录后复制

 

那么这种长尾短尾想结合的关键词我们用常规的替换处理是不行的,需要用到正则的匹配处理。处理函数见下

 

<span>//</span><span>content 文字正文内容</span>
 <span>function</span> keylink(<span>$content</span><span>) {
    </span><span>//</span><span>$keywordArr 代表我们的关键词字典</span>
    <span>$keywordArr</span>=<span>array</span><span> (
    </span>0 => <span>array</span> ('title' => '李铁牛是铁牛山的铁牛','url' => 'http://www.444.com',),
    1 => <span>array</span> ('title' => '李铁牛是铁牛山','url' => 'http://www.333.com',),
    2 => <span>array</span> ('title' => '李铁牛','url' => 'http://www.222.com',),
    3 => <span>array</span> ('title' => '铁牛','url' => 'http://www.111.com',),<span>);
    </span><span>if</span>(!<span>$keywordArr</span>) <span>return</span> <span>$content</span><span>;
    </span><span>$data</span> = <span>$content</span><span>;
    </span><span>foreach</span>(<span>$keywordArr</span> <span>as</span> <span>$k</span>=><span>$v</span><span>) {
        </span><span>$quote</span> = <span>str_replace</span>(<span>array</span>("'", '-'), <span>array</span>("\'", '\-'), <span>preg_quote</span>(<span>$v</span>['title'<span>]));
        </span><span>$data</span> = <span>preg_replace</span>('\'(?!((<.*?)|(<a.*?)|(<strong.*?)))('.<span>$quote</span>.')(?!(([^<>]*?)>)|([^>]*?</a>)|([^>]*?</strong>))\'si', '<a href="'.<span>$v</span>['url'].'" target="_blank"><strong class="keylink">'.<span>$v</span>['title'].'</strong></a>', <span>$data</span>, 1);<span>//</span><span>数字1代表在正则中出现的替换频率</span>
        <span>if</span>(<span>$data</span> == '') <span>$data</span> = <span>$content</span><span>;
    }
    </span><span>return</span> <span>$data</span><span>;
}</span>
登录后复制

 

  如果处理的不好,会出现内链嵌套内链的错误悲剧。错误悲剧出处:大家可以尝试用下DEDECMS,DEDECMS的内链就有短尾关键词和长尾关键词嵌套一起的错误内链问题。

 

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号