GORAGOD.com

freelance, web developer, web designer, hosting, domain name

ค้นหาแบบไฮไลท์

การทำ highlight ข้อความ ค้นหา ด้วย PHP

  ด้วยการใช้ ฟังก์ชั่น eregi_replace เพื่อ แทนที่ข้อความ ด้วย tag ที่กำหนด

<style type="text/css">
.search {
  background-color:yellow;
  color:green;
}
</style>

<?
$data = highlight("ค้นหา", $data);
echo $data;

//highlight word (ข้อความค้นหา)
function highlight($word, $subject) {
  $pattern = '(>[^<]*)('.$word.')';
  $replacement = '<span class="search"></span>';
  return eregi_replace($pattern, $replacement, $subject);
}
?>

  ในโค้ด ผมทำการแทนที่ข้อความที่ต้องการด้วย <span class="search">ข้อความค้นหา</span> โดยใช้ CSS กำหนดรูปแบบการทำ highlight ขอความให้ดูโดดเด่นตามต้องการ

  โค้ดนี้ผมใช้บนเว็บนี้แหละครับ ลองค้นหาข้อความดูครับ

จากข้อความของอาจารย์
ผมไม่เข้าใจเลยอ่ะครับ ลองเอาโค้ดไปรันตรงๆแล้วไม่ได้ผลลัพธ์เลยครับ
ขอตัวอย่างอีกซักอันได้ไหมครับ
07 เม.ย. 2552 3 2,955

ใช้ครับถ้าเอาคำที่ค้าหามัยอยู่ในดาต้าเบส จะต้องทำยังไง ผมเป็นมือใหม่เลยไม่ค่อยเข้าใจ
#1

555+++

ผมแก้ไขตัวอย่างให้แล้วครับ มันมีข้อจำกัดอยู่นิดหน่อยครับ ถ้ายังไม่ชอบใจลองดูโค้ดอื่นครับ ยังมีอีกหลายตัว
#2

str_replace ก็ได้ครับ อิอิ
#3
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^