Thursday, October 13, 2016

PHP การตัดช่องว่างหน้าหลัง ของ UTF-8 strings


ใช้กับกรณีที่บางครั้งอ่านค่าจาก file csv มาแล้ว มีอักษรไทยอยู่ ต้องการตัดช่องว่างหน้าหลัง
บางครั้งใช้ php : trim ก็ตัดไม่ได้ต้องใช้วิธีนี้คับ การ convert unicode spaces to ascii spaces

preg_replace('/[\pZ\pC]/u',' ',$field);



ตัวอย่าง

         
$string = "  บบน ";
echo "ก่อนตัด ='".$string."'";
echo "ตัดด้วย trim ='".trim($string)."'";
echo "ตัดด้วย 
convert ='".preg_replace('/^[\pZ\pC]+|[\pZ\pC]+$/u','',$string)."'";

?>
ผลลัพธ์

ก่อนตัด ='  บบน '
ตัดด้วย trim ='  บบน'
ตัดด้วย convert ='บบน'


No comments: