一、php为一组指定关键词添加span标签的方法。
php给一组指定的关键词添加span标签,高亮突出显示关键词。
代码:
二、php自动给文章加关键词链接
自动给文章加关键词链接的php函数代码。
代码:
<?php
$link = array(
'百度,http://www.baidu.com/',
'php教程,http://www.jb200.com/wb/php/',
'脚本学堂,http://www.jb200.com/',
);
$str = '在百度中搜索php教程就可以到脚本学堂提供的php编程文章<br />
此处放置需要替换的内容。';
$out=keylink($str,$link,1); //$str 原始字符 $link,替换链接数组, 3替换次数
echo $out;
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;
}
?>