作者a613204 (胖胖)
看板PHP
標題[請益] 關鍵字搜尋
時間Wed Dec 30 01:15:16 2009
想請問一下 , 我做了一個關鍵字搜尋的功能
以下列出部分程式碼
$keyword=$_POST['keyword']; //變數keyword為關鍵字
$sql="select * from table where UPPER(column) like UPPER('%$keyword%')";
//column欄位為要搜尋的內容,為了能搜尋不分大小寫,所以將他們都轉完大寫在搜尋
$result=mysql_query($sql);
while($row=mysql_fetch_object($row))
{
echo str_ireplace($keyword,"<span style='color:red'>$keyword</span>",$row->column)
}
這邊的str_ireplace有點問題的地方在於 假如本文內容為 Abcde 我關鍵字如果為 abc 雖
然搜尋的到 但是顯示出來的結果就會變成 abcde 而不是 Abcde 也就是關鍵字會整個取
代掉本文,請問要如何解決呢??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.25.159.154
推 buganini:stripos+substr 12/30 02:48
→ buganini:or preg_replace("/($keyword)/i",'<s>\1</s>',$s); 12/30 02:49
→ buganini:$keyword need escaped for SQL and PCRE 12/30 02:49