php自动给文章加关键词链接的函数代码

 更新时间:2012年11月29日 21:13:39   投稿:mdxy-dxy  
自动给文章加关键词链接的php函数代码,需要的朋友可以参考下

复制代码 代码如下:

<?php

function _sortDesc($a, $b) {
return (strlen($a[0]) < strlen($b[0])) ? 1 : -1;
}
function keylink($str,$link,$count=1)
{
$linkDefs = $link;
$linkMap = array();
foreach($linkDefs as $row) {
$linkMap[] = explode(',', $row);
}

foreach($linkMap as $row) {
$str = preg_replace('/(<a.*?>\s*)('.$row[0].')(\s*<\/a>)/sui', '${2}', $str);
}

usort($linkMap, '_sortDesc');

$tmpKwds = array();

foreach($linkMap as $i=>$row) {
list($kwd, $url) = $row;
for($j=$i+1; $j<count($linkMap); $j++) {
$subKwd = $linkMap[$j][0];
//如果包含其他关键字,暂时替换成其他字符串
if(strpos($kwd, $subKwd) !== false) {
$tmpKwd = '{'.md5($subKwd).'}';
$kwd = str_replace($subKwd, $tmpKwd, $kwd);
$tmpKwds[$tmpKwd] = $subKwd;
}
}
//把文字替换成链接
$str = preg_replace('/('.$row[0].')/sui', '<a href="'.$row[1].'" target="_blank">'.$kwd.'</a>', $str, $count);
}

//把代替子关键字的字符串替换回来
foreach($tmpKwds as $tmp=>$kwd) {
$str = str_replace($tmp, $kwd, $str);
}
return $str;
}
?>

相关文章

  • PHP实现货币换算的方法

    PHP实现货币换算的方法

    这篇文章主要介绍了PHP实现货币换算的方法,以实例形式较为详细的讲述了货币转换的实现方法,并举英镑转换美元为例讲述具体用法,需要的朋友可以参考下
    2014-11-11
  • PHP行为设计模式之策略模式

    PHP行为设计模式之策略模式

    这篇文章主要介绍了PHP行为设计模式之策略模式,策略模式(Strategy pattern)是行为类模式中的一个类型。行为类模式用来说明一个应用是如何运作的
    2023-04-04
  • php读取mysql中文数据出现乱码的解决方法

    php读取mysql中文数据出现乱码的解决方法

    以下是对php读取mysql中文数据出现乱码问题的解决方法进行了介绍,需要的朋友可以过来参考下
    2013-08-08
  • 适用于初学者的简易PHP文件上传类

    适用于初学者的简易PHP文件上传类

    这篇文章主要为大家分享了一个适用于初学者的简易PHP文件上传类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-10-10
  • 基于PHP开发中的安全防范知识详解

    基于PHP开发中的安全防范知识详解

    本篇文章是对PHP开发中的安全防范知识进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP数组函数array_multisort()用法实例分析

    PHP数组函数array_multisort()用法实例分析

    这篇文章主要介绍了PHP数组函数array_multisort()用法,结合实例形式详细分析了array_multisort函数的功能,定义及进行数组排序过程中的使用技巧,需要的朋友可以参考下
    2016-04-04
  • PHP串行化与反串行化实例分析

    PHP串行化与反串行化实例分析

    这篇文章主要介绍了PHP串行化与反串行化,结合实例形式分析了php面向对象程序设计及serialize与unserialize函数进行串行化、反串行化相关使用技巧,需要的朋友可以参考下
    2016-12-12
  • php ajax异步读取rss文档数据

    php ajax异步读取rss文档数据

    这篇文章主要介绍了php ajax异步读取rss文档数据的相关资料,RSS是一种描述和同步网站内容的格式,需要的朋友可以参考下
    2016-03-03
  • php设计模式 Singleton(单例模式)

    php设计模式 Singleton(单例模式)

    保证一个类仅有一个实例,并提供一个访问它的全局访问点
    2011-06-06
  • php截取视频指定帧为图片

    php截取视频指定帧为图片

    这篇文章主要为大家详细介绍了php截取视频指定帧为图片的相关资料,需要的朋友可以参考下
    2016-05-05

最新评论