ความเห็น: 0
PHP : วิธีค้นหา Pattern ในข้อความด้วย preg_match [C]
เมื่อต้องการแสดงเนื้อหาบางอย่าง ซึ่งต้องการให้เป็นเฉพาะภายใน ม.อ. ของเรา หรือ เลือกว่า ถ้ามาจาก network ใดให้แสดงได้ และ จากที่ใด ไม่ต้องแสดง โดยการใช้ Function ที่ชื่อว่า preg_match ซึ่งใช้วิธีนี้ครับ
$kx_ip=$_SERVER['REMOTE_ADDR'];
if(
preg_match('/^192\.168\./', $kx_ip) >0 ||
preg_match('/^172\./', $kx_ip) >0 ||
preg_match('/^1o\./', $kx_ip) >0
) {
$topText = 'Show some HTML';
} else {
$topText = '';
}
อธิบาย :
$_SERVER['REMOTE_ADDR']
เป็นตัวแปร ที่ทำให้เราทราบว่า IP ของผู้เยี่ยมชมคืออะไร
preg_match('/^192\.168\./', $kx_ip) >0
ฟังก์ชั่น preg_match ต้องการ argument อย่างน้อย 2 ตัว คือ ตัวแรก เป็น pattern ที่ต้องการค้นหา ตัวที่สองเป็น ข้อความ
Pattern จะอยู่ภายใน / ... /
^ แปลว่า ขึ้นต้นด้วย
^192\.168\. หมายถึง ต้องขึ้นต้นด้วย 192.168 ที่ต้องใส่ \. เพื่อบอกว่า ค้นหาเครื่องหมาย จุด '.' เพราะ ถ้าไม่บังไว้ . แปลว่า ตัวอักษรอย่างน้อย 1 ตัวครับ
ส่วนฟังก์ชั่นนี้ จะ return 0 ถ้า ไม่เจอเลย (ปรากฏ 0 ครั้ง) แต่ถ้ามากกว่า 0 แสดงว่า ค้นหาเจอครับ
บันทึกอื่นๆ
- เก่ากว่า « การตั้งค่า Proxy สำหรับ NOD เพื่...
- ใหม่กว่า » เล็กๆน้อยๆกับ PSU Webmail #3 : H...