PHP:
การดึงข้อมูลย่อยออกมา
วิธีการ:
PHP มีฟังก์ชันหลายอย่างในการดึงข้อความย่อย มาดูที่ substr
, mb_substr
, และ strstr
กัน
$string = "Hello, World! Programming is fun.";
// การดึง 'World' โดยใช้ substr.
echo substr($string, 7, 5); // ผลลัพธ์: World
// ตัวอย่างสตริง UTF-8 โดยใช้ mb_substr สำหรับตัวอักษรหลายไบต์
$utf8String = "こんにちは世界";
echo mb_substr($utf8String, 5, 2); // ผลลัพธ์: 世
// ดึงทุกอย่างหลังจากจุลภาคด้วย strstr
echo strstr($string, ","); // ผลลัพธ์: , World! Programming is fun.
ลงลึก
ในช่วงเวลาแรกๆ ของ PHP, substr()
คือวิธีหลักในการดึงชิ้นส่วนของสตริงออกมา อย่างไรก็ตาม substr()
มีข้อจำกัด (และยังคงมี): ไม่ทำงานได้ดีกับตัวอักษรที่ไม่ใช่ภาษาอังกฤษ (เช่น ภาษาญี่ปุ่นหรืออาหรับ)
นำเสนอ mb_substr()
, คู่หูที่ปลอดภัยกับมัลติไบต์และเคารพต่อตัวอักษรจากการเข้ารหัสต่างๆ รับประกันว่าเมื่อคุณดึงข้อความย่อยออกมา คุณจะไม่ฉีกผ่านตัวอักษรตรงกลางไบต์ ซึ่งมีความสำคัญต่อการใช้งานในระดับสากล
strstr()
, อีกด้านหนึ่ง หาครั้งแรกของข้อความย่อยและให้ทุกอย่างหลังจากนั้น มี strchr()
ซึ่งเป็นชื่ออื่นของ strstr()
ในขณะที่ substr()
และ mb_substr()
อนุญาตให้คุณระบุได้อย่างแน่นอนว่าจะเริ่มต้นที่ไหนและจะดึงออกมามากเพียงใด strstr()
เป็นเหมือนเครื่องมือ “หาและให้ที่เหลือมาหาฉัน”
ดูเพิ่มเติม
นี่คือการอ่านเพิ่มเติมหากคุณต้องการรับรู้มากขึ้น:
- เอกสารอย่างเป็นทางการของ PHP สำหรับฟังก์ชันสตริง: https://www.php.net/manual/en/ref.strings.php
- การศึกษาลึกลงไปในฟังก์ชันสตริงมัลติไบต์ของ PHP: https://www.php.net/manual/en/book.mbstring.php
- เพิ่มเติมเกี่ยวกับการเข้ารหัสตัวอักษรและทำไมมันถึงสำคัญ: http://kunststube.net/encoding/