css ของข้อความที่ทำ hilight
1 2 3 4 5 6 | <style type= "text/css" > span.iHilight{ /* กำหนดรูปแบบ css ของข้อความที่ทำ hilight */ color : #DA0044 ; background-color : #FFFFCC ; } </style> |
PHP code แนวทางสำหรับนำไปประยุกต์ใช้งาน
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php if ( $_GET [ 'q' ] && $_GET [ 'q' ]!= "" ){ $any_keyword = explode ( " " , $_GET [ 'q' ]); // แยกค่า keyword แต่ละตัวออกจากข้อความ หรือประโยคที่ค้นหา $patterns = array (); // ตัวแปร array สำหรับเก็บค่า รูปแบบสำหรับค้นหา $replacements = array (); // ตัวแปร array สำหรับเก็บค่า รูปแบบสำหรับแทนที่ $num_keyword = count ( $any_keyword ); // หาค่าจำนวน keyword $qMore = "" ; // ตัวแปร สำหรับเก็บค่า เงื่อนไขคำสั่ง sql if ( $num_keyword >0){ // ตรวจสอบค่า keyword ว่ามากกว่า 0 หรือไม่ foreach ( $any_keyword as $key => $value ){ // วนลูปสำหรับกำหนดค่า ตัวแปร ต่างๆ $qMore .= " arti_topic like '%" .trim( $value ). "%' or " ; // กำหนดรูปแบบสำหรับเงื่อนไขคำสั่ง sql $patterns [ $key ]= "/" .trim( $value ). "/i" ; // กำหนดรูปแบบสำหรับค้นหา $replacements [ $key ]= "<span class=iHilight>" .trim( $value ). "</span>" ; // กำหรดรูปแบบสำหรับแทนที่ } $qMore = substr ( $qMore ,0,-3); // ตัดส่วนท้ายของคำสั่ง sql ( ตัด or ส่วนท้ายคำสั่ง sql ) } // คำสั่ง sql สำหรับแสดงข้อมูล $q = "SELECT * FROM `article` WHERE $qMore " ; $qr =mysql_query( $q ); while ( $rs =mysql_fetch_array( $qr )){ $iTopic =preg_replace( $patterns , $replacements , $rs [ 'arti_topic' ]); // hilight คำที่ค้นหาในรายการที่แสดง } } ?> |