ค้นหาแบบไฮไลท์
การทำ highlight ข้อความ ค้นหา ด้วย PHP
ด้วยการใช้ ฟังก์ชั่น eregi_replace เพื่อ แทนที่ข้อความ ด้วย tag ที่กำหนด
ในโค้ด ผมทำการแทนที่ข้อความที่ต้องการด้วย <span class="search">ข้อความค้นหา</span> โดยใช้ CSS กำหนดรูปแบบการทำ highlight ขอความให้ดูโดดเด่นตามต้องการ
โค้ดนี้ผมใช้บนเว็บนี้แหละครับ ลองค้นหาข้อความดูครับ
จากข้อความของอาจารย์
ผมไม่เข้าใจเลยอ่ะครับ ลองเอาโค้ดไปรันตรงๆแล้วไม่ได้ผลลัพธ์เลยครับ
ขอตัวอย่างอีกซักอันได้ไหมครับ
ด้วยการใช้ ฟังก์ชั่น 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);
}
?>
.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 ขอความให้ดูโดดเด่นตามต้องการ
โค้ดนี้ผมใช้บนเว็บนี้แหละครับ ลองค้นหาข้อความดูครับ
จากข้อความของอาจารย์
ผมไม่เข้าใจเลยอ่ะครับ ลองเอาโค้ดไปรันตรงๆแล้วไม่ได้ผลลัพธ์เลยครับ
ขอตัวอย่างอีกซักอันได้ไหมครับ
ผมแก้ไขตัวอย่างให้แล้วครับ มันมีข้อจำกัดอยู่นิดหน่อยครับ ถ้ายังไม่ชอบใจลองดูโค้ดอื่นครับ ยังมีอีกหลายตัว