教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php实现关键词替换与加亮的代码

php实现关键词替换与加亮的代码

发布时间:2017-02-25   编辑:jiaochengji.com
本文介绍下,在php中,实现关键词的替换且高亮显示的一段代码,用于做网站优化中的内链还是不错的,有需要的朋友参考下吧。

本节主要内容:
学习php实现关键词替换与高亮显示的方法。

例子:
 

复制代码 代码示例:

<?php
/*
用处:加亮关键词
要求:备查文章内除HTML标签外所有 < 和 > 符号分别用 &lt; 和 &gt; 替代
  $rows['content']=str_replace("<","&lt;",$rows[content]);
  $rows['content']=str_replace(">","&gt;",$rows[content]);
可能存在问题:效率不高 忘记了大小写转换问题
$content:要加亮的备查文章
$key:关键字
site: www.jbxue.com
*/
function highlight($content,$key) {
 $k_fi=substr($key,0,1);    //取得关键词第一个字符
 $k_len=strlen($key);   //计算关键词字数
 $l_len=strlen($content);    //计算备查文章字数
 for($l_n=0;$l_n<$l_len;$l_n++)  //根据备查文章字数开始循环
 {
  $l_s=substr($content,$l_n,1);  //取得备查文章当前字符
  if($l_s=="<")    //如果这个字符是标签的开始的话
  {
   while($l_s!=">")  //我们就寻找这个标签的关闭
   {
    $con.=$l_s;  //导入结果
    $l_n++;  //当然要开始取备查文章的下一个字符
    $l_s=substr($content,$l_n,1);
   }
   $con.=$l_s;
  }
  elseif($l_s==$k_fi)  //如果这个字符与关键词第一个字符相同的话
  {
    $l_key=substr($content,$l_n,$k_len);  //取备查文章当前位置是否匹配关键词
    if($l_key!=$key)
    {
        $con.=$l_s;  //导入结果
    }
    else  //如果匹配
    {
     $l_n+=$k_len-1;  //计数跳过相应字数
     $con.="<b>{$key}</b>";  //加亮关键词
    }
  }
  else
  {
     $con.=$l_s;  //导入结果
  }
 }
    return $con;
}

// 中文测试
//备查字符串
$str="脚本学堂脚本学堂脚本学堂<a href=\"http://www.jbxue.com\" title=\"当脚本学堂家是\">我们大脚本学堂家的</a>都是一个脚本学堂家";
//关键词
$key="脚本学堂";

//调用函数
$str_hl=highlight($str,$key);

echo "<p>" . $str_hl . "</p>\n";
echo "<hr>";
echo "<p>" . htmlspecialchars($str_hl) . "</p>\n";
?>

您可能感兴趣的文章:
php替换html内容的小函数
php实现关键词替换与加亮的代码
PHP字符串替换函数 可同时替换多个关键词
PHP实现文章内容添加内链关键词替换的代码
PHP文章内链实例代码 php关键词替换且只替换一次
php实现文章中关键词加链接的方法
php实现搜索多关键词高亮显示程序代码
php自动给文章加关键词链接的实现代码
php添加关联链接的代码
js搜索关键字高亮显示效果代码

[关闭]
~ ~