程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 用PHP實現完美的關鍵詞加亮

用PHP實現完美的關鍵詞加亮

編輯:關於PHP編程

<?php
/*
用處:加亮關鍵詞
要求:備查文章內除HTML標簽外所有 < 和 > 符號分別用 &lt; 和 &gt; 替代
    $rows['content']=str_replace("<","&lt;",$rows[content]);
    $rows['content']=str_replace(">","&gt;",$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.="<span style="color:#f00;font-weight:bold;text-decoration:underline">";
$con.=$key;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved