ไฮไลท์ข้อความด้วย PHP
ด้วยการใช้ ฟังก์ชั่น eregi_replace เพื่อ แทนที่ข้อความ ด้วย tag ที่กำหนด
<style type="text/css">
.search {
background-color:yellow;
color:green;
}
</style>
<?php
$data = '<span>การทำ highlight ข้อความ ค้นหา ด้วย PHP</span>';
$data = highlight("ค้นหา", $data);
echo $data;
//highlight word (ข้อความค้นหา)
function highlight($word, $subject) {
$pattern = '(>[^<]*)('.$word.')';
$replacement = '\\1<span class="search">\\2</span>';
return eregi_replace($pattern, $replacement, $subject);
}
?>
ในโค้ด ผมทำการแทนที่ข้อความที่ต้องการด้วย <span class="search">ข้อความค้นหา</span> โดยใช้ CSS กำหนดรูปแบบการทำ highlight ขอความให้ดูโดดเด่นตามต้องการ
ข้อจำกัดของโค้ดนี้คือ จะค้นหาได้บน HTML เท่านั้นครับ