php添加关联链接的代码

发布时间:2020-07-11编辑:脚本学堂
在做网站优化时,为了优化内链,需要将内容添加上关键字链接。那么,如果需要在内容上添加关联链接,应该如何操作呢?

在做网站优化时,为了优化内链,需要将内容添加上关键字链接。那么,如果需要在内容上添加关联链接,应该如何操作呢?

方法一:手动编辑添加
方法二:使用程序在输出内容时实现,又不影响后台内容的编辑。

以下就是php自动给文章内容添加关联链接方法和示例,供大家学习参考。

Keylinks函数方法
参数一:要处理的内容
参数二:替换次数
返回结果:处理后的内容

例子:
 

复制代码 代码如下:
<?php
/**
* php关联链接
*/
header("Content-Type:text/html;charset=utf-8"); //设置编码
$linkdatas=array(
array('前端开发', 'http://http://www.jb200.com'),
array('前端设计', 'http://www.jb200.com'),
array('Web前端', 'http://www.jb200.com'),
array('前端博客', 'http://www.jb200.com'),
);
echo "替换前<br/>";
echo $str='Web前端开发 - 专注于网站前端设计与Web用户体验。前端开发,专注Web前端开发,关注Web用户体验,关注国内外最新最好的前端设计资源和前端开发技术的专业前端博客';
echo "<br/>替换后<br/>";
echo $str=keylinks($str,2);
/**
* 关联关键词替换
* @param txt $string 原字符串
* @param replacenum $int 替换次数
* @return string 返回字符串
*/
function keylinks($txt, $replacenum = '') {
global $linkdatas;
if ($linkdatas) {
$word = $replacement = array();
foreach ($linkdatas as $v) {
$word1[] = '/(?!(<a.*?))' . preg_quote($v[0], '/') . '(?!.*</a>)/s';
$word2[] = $v[0];
$replacement[] = '<a href="' . $v[1] . '" target="_blank" class="keylink">' . $v[0] . '</a>';
}
if ($replacenum != '') {
$txt = preg_replace($word1, $replacement, $txt, $replacenum);
} else {
$txt = str_replace($word2, $replacement, $txt);
}
}
return $txt;
}
?>