Strlen() PHP การนับตัวอักษร ในข้อความ String

แน่นอนครับวันนี้ผมจะเขียนบทความนึงขึ้นมา แต่เอ๊ะ ผมจะนับตัวอักษรมันได้อย่างไรในที่าุดก็เจอครับ คำสั่ง Strlen นั้นเอง แต่มันนับภาษาไทยไม่ได้ดิ มีวิธีแก้ครับ ^^ก็ไปงมหาใน Google พอประมาณ จากนั้นก็ได้คำตอบมา

เดียวยกตัวอย่างให้ดูครับ

Strlen() ก็เหมือนคำสั่ง length() ของ Javascripts ครับ เอาไว้นับว่า ตัวอักษร เรามีกี่ตัวอักษร เช่น “ABC” = 3 ตัวอักษร อะไรแบบนี้ครับ

ถ้า encoding เป็น tis-620 ใช้คำสั่ง

 <?php
 $str = "ทดสอบนับอักขระภาษาไทย";
 echo strlen($str);
 ?>

****แต่ถ้า encoding เป็น utf-8 ต้องเขียนฟังก์ชันเพิ่มครับ

 <?php
$str = "ทดสอบนับอักขระภาษาไทย";
 function utf8_strlen($s) {
 $c = strlen($s); $l = 0;
 for ($i = 0; $i < $c; ++$i)
 if ((ord($s[$i]) & 0xC0) != 0x80) ++$l;
 return $l;
 }
 echo utf8_strlen($str);
 ?>

Moshikub

สวัสดีครับ ผมชื่อโมชิ เป็น Web Developer มาแล้ว 4 ปีตอนนี้เป็น Programmer ที่ Dek-d.com รับงาน Freelance มีไรคุยกันได้ที่ Facebook ครับ