首页 / PHP / 用PHP实现完美的关键词加亮_PHP
用PHP实现完美的关键词加亮_PHP
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了用PHP实现完美的关键词加亮_PHP,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1981字,纯文字阅读大概需要3分钟。
内容图文
/*用处:加亮关键词
要求:备查文章内除HTML标签外所有 < 和 > 符号分别用 < 和 > 替代
$rows['content']=str_replace("<","<",$rows[content]);
$rows['content']=str_replace(">",">",$rows[content]);
可能存在问题:效率不高 忘记了大小写转换问题
$content:要加亮的备查文章
$key:关键字
*/
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.="";
$con.=$key;
$con.=""; //加亮关键词
}
}
else
{
$con.=$l_s; //导入结果
}
}
return $con;
}
#####################
// 以下进行英文测试
#####################
//备查字符串
$str="aabbccdd
//关键词
$key="bc";
//调用函数
$str_hl=highlight($str,$key);
//输出打印到屏幕
echo "#####################\n";
echo " 以下进行英文测试\n";
echo "#####################\n";
echo "
原来的字符串
\n";echo "
$str
\n";echo "
" . htmlspecialchars($str) . "
\n";echo "
关键字:$key
\n";echo "
加亮后的字符串
\n";echo "
$str_hl
\n";echo "
" . htmlspecialchars($str_hl) . "
\n";#####################
// 以下进行中文测试
#####################
//备查字符串
$str="呵哈嘻啦酷
//关键词
$key="哈嘻";
//调用函数
$str_hl=highlight($str,$key);
//输出打印到屏幕
echo "#####################\n";
echo " 以下进行中文测试\n";
echo "#####################\n";
echo "
原来的字符串
\n";echo "
$str
\n";echo "
" . htmlspecialchars($str) . "
\n";echo "
关键字:$key
\n";echo "
加亮后的字符串
\n";echo "
$str_hl
\n";echo "
" . htmlspecialchars($str_hl) . "
\n";?>
内容总结
以上是互联网集市为您收集整理的用PHP实现完美的关键词加亮_PHP全部内容,希望文章能够帮你解决用PHP实现完美的关键词加亮_PHP所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。