สอบถาม php การนับตัวอักษรตามช่องไฟ

เริ่มโดย JumDaiDee, 19 สิงหาคม 2014, 12:02:17

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

JumDaiDee

สวัสดีครับ พี่ๆ โปรแกรมเมอร์

พอผมให้ php มันนับตัวอักษรไทย ให้เหมือนภาษา eng

เช่น abc ได้ 3 ตัวอักษร

ลงทั้งงาน ได้ 7 ตัวอักษร

จะต้องทำอย่างไรครับพี่ๆ โปรแกรมเมอร์ เพราะภาษาไทย มันคูณ 3

:wanwan017: :wanwan017:
สินค้าออนไลน์ https://www.shoppook.com/product | โปรแกรมออนไลน์ : https://appnon.com

MiithRanDir

#1
คงต้องนับพยางค์เอา
[direct=https://www.มังกรฟ้าเชิญมารวย.com]ล็อตเตอรี่ออนไลน์[/direct]

ยิ้มโค้ด.คอม

function utf8_strlen($s) {
$c = strlen($s); $l = 0; for ($i = 0; $i < $c; ++$i) if ((ord($s[$i]) & 0xC0) != 0x80) ++$l; return $l;
}

SWOY

function getStrLenTH($string)
{
$array = getMBStrSplit($string);
$count = 0;
foreach($array as $value) {
$ascii = ord(iconv("UTF-8", "TIS-620", $value ));
if( !( $ascii == 209 ||  ($ascii >= 212 && $ascii <= 218 ) || ($ascii >= 231 && $ascii <= 238 ))) {
$count += 1;
}
}
return $count;
}

function getMBStrSplit($string, $split_length = 1){
mb_internal_encoding('UTF-8');
mb_regex_encoding('UTF-8');
$split_length = ($split_length <= 0) ? 1 : $split_length;
$mb_strlen = mb_strlen($string, 'utf-8');
$array = array();
$i = 0;

while($i < $mb_strlen) {
$array[] = mb_substr($string, $i, $split_length);
$i = $i+$split_length;
}
return $array;
}


อันนี้นับแต่ตัวอักษรครับ (ไม่รวมสระ)

echo getStrLenTH("จะต้องทำอย่างไร"); // 8

[direct=http://www.thaiseoboard.com/index.php/topic,331748.0.html]! ขายแล้ว SMF Lnw v.3 สคริปเว็บบอร์ดระบบจัดการครบครันราคาถูก[/direct]

รับติดตั้ง [direct=http://www.webcreation.in.th]ปรับแต่ง smf[/direct] ดูผลงานได้ตามลิงค์เลย
บริการรับทำเว็บบอร์ด SMF ปรับแต่งบอร์ด SMF

JumDaiDee

ขอบคุณ พี่ๆ มากครับ

ผมนำเอาไปประยุกต์ ใช้งานได้ แล้วครับ

+1 ให้พี่ๆ แล้วนะครับ

:wanwan020: :wanwan020:
สินค้าออนไลน์ https://www.shoppook.com/product | โปรแกรมออนไลน์ : https://appnon.com