溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在PHP中實時統(tǒng)計中文字數(shù)

發(fā)布時間:2021-02-18 15:05:38 來源:億速云 閱讀:328 作者:Leah 欄目:開發(fā)技術

如何在PHP中實時統(tǒng)計中文字數(shù)?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

1、PHP 中如何正確統(tǒng)計中文字數(shù)?這個是困擾我很久的問題,PHP 中有很多函數(shù)可以計算字符串的長度,比如下面的例子,分別使用了 strlen,mb_strlen,mb_strwidth 這個三個函數(shù)去測試統(tǒng)計字符串的長度,看看把中文算成幾個字節(jié):

echo strlen("你好ABC") . "";
# 輸出 9
echo mb_strlen("你好ABC", 'UTF-8') . "";
# 輸出 5
echo mb_strwidth("你好ABC") . "";
#輸出 7

從上面的測試,我們可以看出:strlen 把中文字符算成 3 個字節(jié),mb_strlen 不管

</script>中文還是英文,都算 1 個字節(jié),而 mb_strwidth 則把中文算成 2 個字節(jié),所以 mb_strwidth 才是我們想要的:中文 2 個字節(jié),英文 1 個字節(jié)。

同樣截取字符串也建議使用 mb_strimwidth,也是按照 中文 2 個字節(jié),英文 1 個字節(jié) 方式計算之后的,并且如果字數(shù)超過截取的要求,這個函數(shù)還可以在最后面自動添加‘…'。

mb_strimwidth($post_excerpt,0,240,'...','utf-8');

注意,最后添加‘utf-8'編碼參數(shù),可以避免中文截取亂碼的問題。

2、

<script type="text/javascript">
  var len = $('#Form-field-Course-description').text().length;
  $('#Form-field-Course-description-group').append('<div id="txtNum" ></div>');
  var len=$('#Form-field-Course-description').val().length;
  $('#txtNum').text(len+"/500");
  $('#Form-field-Course-description').bind('input propertychange', function() {
     var val=$(this).val();
     var len=val.length;
     if(len>500){
      len=500;
      $(this).val(val.substring(0,500));
     }
    $('#txtNum').text(len+"/500");
  });
</script>

根據(jù)Octobercms后臺update獲取textarea長度,通過input,propertychange事件監(jiān)聽事件

關于如何在PHP中實時統(tǒng)計中文字數(shù)問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業(yè)資訊頻道了解更多相關知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

php
AI