วิธีแปลงข้อความที่ขึ้นต้นด้วย "\u"
(Unicode Character Ranges)
เช่น
\u0e15\u0e34\u0e4a\u0e01 หรือ
\u0e27\u0e23\u0e30\u0e18\u0e32\u0e19 หรือ
\u0e15\u0e34\u0e4a\u0e01 \u0e1e\u0e35\u0e40\u0e23\u0e35\u0e22\u0e14\u0e27\u0e23\u0e30\u0e18\u0e32\u0e19
ดังรูป
และอีกมากมาย
โดย string ข้างต้นนี้ได้มาจาก facebook graph หรือ facebook api ที่ชื่อ หรือข้อความที่ไม่ได้เป็นภาษาอังกฤษ
ซึ่งเราสามารถเทียบ Unicode Character Ranges ได้จาก http://jrgraphix.net/r/Unicode/
สำหรับ PHP CODE ที่ใช้แปลง Unicode Character Ranges ข้างล่างเลยครับ
$string = '\u0e15\u0e34\u0e4a\u0e01'; //String ที่ได้มา $string = strtoupper($string); //ปรับให้ String ที่ได้มา เป็นตัวใหญ่ทั้งหมด เพราะการเทียบ ใน ENT_COMPAT จะตรงการ อักขระตัวใหญ่เท่านั้น $string = preg_replace('/\\\U([0-9A-F]+)/', '$1;', $string); //ตัด string ที่ขึ้นต้น ด้วย \u ตรงนี้ที่ต้องใส่ "\" หลายอันเพราะมันเป็น syntax ซ้ำในฟังก์ชั่น echo html_entity_decode($string, ENT_COMPAT, 'UTF-8'); //เทียบ Unicode Character Ranges โดยใช้ ENT_COMPAT และแสดงผล โดยการ echo //โดย Result ที่ได้ จากการแปลงครั้งนี้ คือ "ติ๊ก"
ไม่มีความคิดเห็น:
แสดงความคิดเห็น