แต่การ validate โดยใช้ preg_match ของ PHP จำเป็นจะต้องใช้ code ที่เป็น UTF-8 ซึ่งเราสามารถตรวจสอบได้จากเว็บ Unicode character inspector
สมมติว่า เราต้องการ validate Emoticon ตามข้างล่าง
😋 😐
เมื่อตรวจสอบ Unicode และ UTF-8 ของ Emoticon ข้างต้นจะได้ข้อมูลดังนี้
Unicode: 1F60B และ 1F610 ตามลำดับ
UTF-8: F0 9F 98 8B และ F0 9F 98 90 ตามลำดับ
เราจะใช้ค่าของ UTF-8 ในการเขียน RegEx สำหรับการ validate ดังนี้
UTF-8: F0 9F 98 8B
จะได้ RegEx: \x{F0}\x{9F}\x{98}\x{8B}
และ
UTF-8: F0 9F 98 90
จะได้ RegEx: \x{F0}\x{9F}\x{98}\x{90}
ตัวอย่างโค้ดของการ validate Emoticon ข้างต้นจะเป็นดังนี้
<?php $value = '😋 😐'; echo preg_match('/^\x{F0}\x{9F}\x{98}\x{8B} \x{F0}\x{9F}\x{98}\x{90}$/', $value);
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ Unicode Regular Expressions อ่านได้ที่ http://www.regular-expressions.info/unicode.html
No comments:
Post a Comment