StepCoding

การตัดช่องว่างของข้อความ String

อ่าน [4090] หมวดหมู่: String

PHP ได้สร้างฟังก์ชันสำหรับตัดช่องว่างของข้อความ String ไว้แล้ว ซึ่งเราสามารถเลือกใช้ได้ว่าเราต้องการตัดช่องว่างทางด้านซ้าย หรือด้านขวา หรือทั้งสองด้านก็ได้ด้วยฟังก์ชัน trim() ltrim() rtrim() ดังนี้

<?php
$str = " Hello, World ";
$trimmed = trim($str);
echo $trimmed . "End string";
$LeftTrim = ltrim($str);
echo $LeftTrim . "End string";
$RightTrim = rtrim($str);
echo $RightTrim . "End string";
?>
# ผลลัพธ์
Hello, WorldEnd String
Hello, World End String
 Hello, WorldEnd String

จากตัวอย่างจะเห็นว่าถ้าเราใช้ฟังก์ชัน trim() มันจะทำการตัดช่องว่างทั้งด้านซ้ายและขวาของข้อความที่ส่งไป ถ้าใช้ฟังก์ชัน ltrim() มันจะทำการตัดช่องว่างทางด้านซ้ายเท่านั้น และถ้าใช้ฟังก์ชัน rtrim() มันจะทำการตัดช่องว่างทางด้านขวาเท่านั้น

เราสามารถกำหนดอักขระที่ต้องการให้มันตัดออกได้ โดยกำหนดเป็นพารามิเตอร์ตัวที่สองของฟังก์ชันนั้น ๆ แต่ในกรณีที่เราไม่ได้กำหนดอักขระเองมันจะ default เป็นค่าต่าง ๆ ดังนี้

CharacterASCII valueความหมาย
" "0x20Space (ช่องว่าง)
"\t"0x09Tab
"\n"0x0ANewline (line feed)
"\r"0x0DCarriage return
"\0"0x00NUL-byte
"\x0B0x0BVertical tab
<?php
$title = "    Progrmming PHP   \n";
$str1 = ltrim($title);		
// $str1 = "Programming PHP   \n"
$str2 = rtrim($title);		
// $str2 = "    Programming PHP"
$str3 = trim($title);		
// $str3 = "Programming PHP"
?>

ต่อไปผมจะยกตัวอย่างการกำหนดอักขระที่ต้องการตัดออกแทนการ default ของมันเอง โดยในตัวอย่างนี้จะทำการตัดช่องว่างเหมือนใน default ยกเว้นตัด tab ออกเท่านั้น

<?php
$record = "\tFred Flintstone 35 Wilma    \n";
$record = trim($record, " \r\n\0\x0B");
// $record = "\tFred Flinstone 35 Wilma"
?>

ผู้สนับสนุน