6/13/2013

PHP : การตัดข้อความด้วย PHP

http://www.ninenik.com
เมื่อต้องการตัดข้อความบางส่วนออกจากข้อความต้นฉบับ สามารถใช้ฟังก์ชัน substr() ของ PHP ในการตัดข้อความ ดังนี้
การใช้งาน
1. substr ( string string, int start [, int length] )  
โดยคำสั่ง substr() จะส่งกลับค่าส่วนของข้อความ string ที่กำหนดจุดเริ่มต้น start และ จำนวนความยาวที่ต้องการ length
ตัวอย่างการใช้งานกรณี start มีค่าไม่เป็นลบ

  1. <?php   
  2. $rest = substr("abcdef", 1);    // returns "bcdef"   
  3. $rest = substr("abcdef", 1, 3); // returns "bcd"   
  4. $rest = substr("abcdef", 0, 4); // returns "abcd"   
  5. $rest = substr("abcdef", 0, 8); // returns "abcdef"   
  6. ?>  
ตัวอย่างการใช้งานกรณี start มีค่าติดลบ จะเริ่มนับจากด้านหลังของข้อความเข้ามา เช่น -3 หมายถึงเริ่มจากตัวที่ 3 โดยนับจากด้านหลังข้อความ

  1. <?php   
  2. $rest = substr("abcdef", -1);    // returns "f" เริ่มนับจากตัว f  
  3. $rest = substr("abcdef", -2);    // returns "ef" เริ่มนับจากตัว e  
  4. $rest = substr("abcdef", -3, 1); // returns "d" เริ่มนับจากตัว d  
  5. ?>  
ตัวอย่างกรณีถ้าค่า start มากกว่า ความยาวของข้อความต้นฉบับ จะส่งค่ากลับเป็น FALSE

  1. <?php   
  2. $rest = substr("abcdef", 8,4);     
  3.  // returns FALSE ข้อความยาวแค่ 6 ตัวอักษร  
  4. // แต่ค่า start เป็น 8 มากกว่าความยาวของค่าความจึงส่งค่ากลับมาเป็น FALSE  
  5. ?>  
กรณีค่า length มีค่าเป็นบวก หมายถึงจำนวนข้อความที่ต้องการตัดเท่ากับค่า length นั้นๆ
กรณีค่า length มีค่าเป็นลบ หมายถึงการระบุตำแหน่งสุดท้ายของข้อความที่ต้องการ โดยตัดข้อความที่นับจากด้านหลังออก เช่น -1 หมายถึงนับจากตัวสุดท้ายมา 1 ตัวให้ตัดออกไป
ตัวอย่างกรณีค่า length มีค่าเป็นลบ

  1. <?php   
  2. $rest = substr("abcdef", 0, -1);  // returns "abcde"   
  3. // ตัดข้อความจากตัวแรก a ไปจนถึง ตัว e โดยตัดข้อความที่นับจากหลังมา 1 ตัวออกไป  
  4. $rest = substr("abcdef", 2, -1);  // returns "cde"   
  5. $rest = substr("abcdef", 4, -4);  // returns ""   
  6. $rest = substr("abcdef", -3, -1); // returns "de"   
  7. ?>  

No comments:

Post a Comment