看PHP如何?多關鍵字加亮
實現代碼:
conn.php
??? ??? $conn = @ mysql_connect("localhost", "root", "") or die("資料庫連結錯誤");?
??? mysql_select_db("form", $conn);?
??? mysql_query("set names 'gbk'");??
??? ?>
searchAndDisplayWithColor.php
?
?
??? ??? include 'conn.php';?
??? ?>?
???
?
??????
????
$key[0]
$key[1]
$key[0]
$key[1]
???????? cellspacing="1" bgcolor="#add3ef">? ???????? ???????? //關鍵字不為空白的時候才執行相關搜尋? ???????? if($_GET['keyWord']){? ???????? //用空格符把關鍵字分割開? ???????? $key=explode(' ', $_GET[keyWord]);? ???????? $sql="select * from message where title like '$key[0]' or title like '$key[1]' or content like '$key[0]' or content like '%$key[1]%'";? ???????? $query=mysql_query($sql);? ???????? while ($row=mysql_fetch_array($query)){? ???????????? //替換關鍵字,並且把關鍵字高亮顯示? ???????????? $row[title]=preg_replace("/$key[0]/i", "", $row[title]);? ???????????? $row[title]=preg_replace("/$key[0]/i", "", $row[title]);? ???????????? $row[content]=preg_replace("/$key[0]/i", "", $row[content]);? ???????????? $row[content]=preg_replace("/$key[1]/i", "", $row[content]);? ???????????? ?>? ?????? ????????
? ????????????
標題: 使用者:? ???????????? ">編輯 | ???????????????? href="delete.php?id=">刪除? ???????????? | ? ????????
? ????????
? ????????????
| 內容: | ? ????????
? ????????
? ????????????
? ???????????? 發表日期:? ???????????? | ? ????????
? ???????? ???????? }? ???????? ?>? ????
說明:在這個小程式中,有一點不足之處在於,只能同時搜尋兩個關鍵字,並且中間用空格" "隔開,如果只是搜尋一個關鍵字,如:"大"
顯示的時候會出現亂碼 ……^|_|^,這是由於下面代碼的結果:
???? //用空格符把關鍵字分割開?
???? $key=explode(' ', $_GET[keyWord]);
如果要改進的話,在這裡的後面就要做一下判斷了。