ชมรมนิติกรองค์กรปกครองส่วนท้องถิ่น:เว็บไซท์อันดับ๑ของวงการท้องถิ่น

ส่วนของเว็บมาสเตอร์ => เว็บที่เรานำมาให้แก้ไขเว็บไซท์ => วิธีโมดิฟายธีม จาก nevikup.blogspot => หัวข้อที่ตั้งโดย: admin เมื่อ 03-09-2020, 07:58:14

ชื่อ: [PHP] substr, strlen และ strrpos
โดย: admin เมื่อ 03-09-2020, 07:58:14
 [PHP] substr, strlen และ strrpos

วันนี้ชวนมาทบทวน function พื้นฐานใน php ว่าด้วย substr, strlen และ strrpos


หากเราต้องการจะแทนที่อะไรสักอย่างในตำแหน่งใดตำแหน่งหนึ่ง ด้วยเครื่องหมาย xxx หรือ ****
เช่น ผู้ใช้มีรหัสผ่านชุดหนึ่ง 123456789 เราอยากจะแทนที่ 3 ตำแหน่งสุดท้ายอันได้แก่ 789 ด้วยเครื่องหมาย xxx หรือ ***  จะทำอย่างไร?

พระเอกในโจกทย์นี้คือ substr + strlen
substr ( string, start, length ); //ใช้ดึงข้อความตั้งแต่ตำแหน่งที่กำหนด ตามจำนวนที่กำหนด
ส่วน strlen  strlen ( string ); //ใช้นับจำนวนอักษรทั้งหมด

ตัวอย่างการใช้งาน
echo substr($_POST['password'],0,strlen($_POST['password'])-3)."***";

ผลลัพธ์ 123456***


แต่ถ้าจะแทนที่ชุดอักษรที่มีเครื่องหมายคั่นระหว่างเช่น ตัวเลขไอพี  125.115.620 เราต้องการจะแทนตัวเลขชุดสุดท้าย ด้วยเครื่องหมาย xxx ให้ได้ผลลัพธ์ 125.115.xxx
ให้ใช้ substr + strrpos
strrpos ( string, find, start ); //ใช้ค้นหาข้อความที่กำหนดใน string จากหลังมาหน้า โดยจะคืนค่าตำแหน่งแรกที่พบ หรือคืนค่า false ถ้าไม่พบ ( การค้นหานี้คำนึงถึงตัวพิมพ์เล็กพิมพ์ใหญ่ )

ตัวอย่างการใช้งาน


$ip=" 125.115.620";
echo substr($ip,0,strrpos($ip,'.')).".xxx"
ผลลัพทธ์  125.115.xxx