PHP实时统计中文字数和区别
1、PHP 中如何正确统计中文字数?这个是困扰我很久的问题,PHP 中有很多函数可以计算字符串的长度,比如下面的例子,分别使用了 strlen,mb_strlen,mb_strwidth 这个三个函数去测试统计字符串的长度,看看把中文算成几个字节:
echo strlen("你好ABC") . ""; # 输出 9 echo mb_strlen("你好ABC", 'UTF-8') . ""; # 输出 5 echo mb_strwidth("你好ABC") . ""; #输出 7
从上面的测试,我们可以看出:strlen 把中文字符算成 3 个字节,mb_strlen 不管
</script>中文还是英文,都算 1 个字节,而 mb_strwidth 则把中文算成 2 个字节,所以 mb_strwidth 才是我们想要的:中文 2 个字节,英文 1 个字节。
同样截取字符串也建议使用 mb_strimwidth,也是按照 中文 2 个字节,英文 1 个字节 方式计算之后的,并且如果字数超过截取的要求,这个函数还可以在最后面自动添加‘…'。
mb_strimwidth($post_excerpt,0,240,'...','utf-8');
注意,最后添加‘utf-8'编码参数,可以避免中文截取乱码的问题。
2、
<script type="text/javascript"> var len = $('#Form-field-Course-description').text().length; $('#Form-field-Course-description-group').append('<div id="txtNum" style="position: absolute;right: -50px;bottom: 18px;"></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>
根据Octobercms后台update获取textarea长度,通过input,propertychange事件监听事件
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
PHP去除空数组且数组键名重置的讲解
php空数组的话,能够运用 php函数array_filter() . array array_filter ( array [, callback callback] ) array_filter() 顺次将 array 数组中的每个值传递到 callback 函数.假如 callback 函数回来 TRUE,则 array 数组的当时值会被包含在回来的成果数组中.数组的键名保存不变. 假如没有供给 callback 函数,array_filter() 将删去 array 中所有等值为 FAL
-
PHP递归的三种常用方式
递归:函数自己调用自己的一种编程方法,类似于循环,所以递归调用的函数中必须有终止条件,否则就会成为死循环 无限级:其实并不是真正的无限级,只是层级不确定,所以我们称之为无限级 因为常用递归实现无限级分类,所以我们习惯说无限级的时候带上分类. 递归的三种常用技法: 静态变量.全局变量.引用 一 静态变量方式 function loop(){ static $i = 0; echo $i.' '; $i++; if($i<10){ loop(); } } loop();//输出 0 1 2 3 4
-
PHP根据key删除数组中指定的元素
php数组中元素的存在方式是以键值对的方式('key'=>'value'),有时候我们需要根据键删除数组中指定的某个元素. function bykey_reitem($arr, $key){ if(!array_key_exists($key, $arr)){ return $arr; } $keys = array_keys($arr); $index = array_search($key, $keys); if($index !== FALSE){ array_splice($arr,
-
PHP中rename()函数的妙用讲解
大家都知道,rename()函数可以对文件或目录进行重命名的操作.其实它还可以做很多事情. 熟悉unix的朋友应该知道shell命令mv,它相当与win32的移动,而且移动的同时可进行重命名.我发现,php的rename()函数就相当于mv,它不仅仅只有简单的重命名的功能,同样可以改变文件甚至整个目录的路径. 例如: $oldpath ----文件或目录原来路径 $newpath ----新定义路径 那么 rename($oldpath,$newpath)就可以完成文件/目录移动的操作 经过我的
-
PHP微信发送推送消息乱码的解决方法
先用urlencode是因为中文在数组转json时会被编码为unicode,微信接口无法识别,所以得在json_encode前先来个编码,等转换后再用urldecode转回来,这样传输给接口的就是正常的中文了. 参考代码: $message = array( 'touser'=>$touser, 'msgtype'=>'text', 'text'=>array('content'=>urlencode($text)) ); $message = urldecode(json_enc
-
PHP递归算法的简单实例
递归函数为自调用函数,在函数体内直接或直接自个调用自个,但需求设置自调用的条件,若满意条件,则调用函数自身,若不满意则停止本函数的自调用,然后把目前流程的主控权交回给上一层函数来履行,也许这么给我们解说,仍是很难理解,比如 function test ($n){ echo $n." "; if($n>0){ test($n-1); }else{ echo ""; } echo $n." " } test(2) 这个比如终究的输出结果是 2
-
PHP htmlspecialchars_decode()函数用法讲解
PHP htmlspecialchars_decode() 函数 实例 把预定义的 HTML 实体 "<"(小于)和 ">"(大于)转换为字符: <?php $str = "This is some <b>bold</b> text."; echo htmlspecialchars_decode($str); ?> 上面代码的 HTML 输出如下(查看源代码): <!DOCTYPE html&
-
PHP正则验证字符串是否为数字的两种方法并附常用正则
php 正则验证字符串是否为数字 方法一: php中利用正则表达式验证字符串是否为数字一件非常容易的事情,最主要的是如何写好正则表达式以及掌握正则表达式的写法,在此利用正则表达式的方式来列举一下判断数字的方法. <? if($str) { if(eregi("^[0-9]+$",$str)) { $str=(int)$str; } else { echo "获取到的数据不是有效的数字类型,操作将停止!"; exit(); } } else { echo &qu
-
PHP正则判断一个变量是否为正整数的方法
方法1 判断正整数 $keyword = '10'; // 0 1.1 1 if(preg_match("/^[1-9][0-9]*$/",$keyword)){ echo "是正整数!"; exit(); } 方法2 判断正整数 if ((floor($jp_total) - $jp_total) !==0){ echo "不是正整数"; }else{ echo "是正整数"; } 方法3 判断整数 if(!is_numer
-
PHP实时统计中文字数和区别
1.PHP 中如何正确统计中文字数?这个是困扰我很久的问题,PHP 中有很多函数可以计算字符串的长度,比如下面的例子,分别使用了 strlen,mb_strlen,mb_strwidth 这个三个函数去测试统计字符串的长度,看看把中文算成几个字节: echo strlen("你好ABC") . ""; # 输出 9 echo mb_strlen("你好ABC", 'UTF-8') . ""; # 输出 5 echo mb_st
-
jQuery实时统计输入框字数及限制
项目中经常会用到文本输入框,而且需要限制输入的字数. 下面分享一个 jQuery 实时统计输入框输入字数及限制输入字数的方法,代码如下: HTML:简单的写一下,能实现功能即可. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=dev
-
JavaScript输入框字数实时统计更新
在前端开发中,很多情况下需对输入内容进行验证.实时统计功能,对于定长输入而言,可以让用户实时明确输入界限,并合理安排内容. 字数实时统计更新 下面将以[消息内容]为例,设计实现输入框字数实时统计更新功能. 项目架构如下: message message.css message.js message.tpl 1. 在message.tpl文件中定义网页元素 //移动端微信公众号开发 <div class="weui-cell__bd"> <textar
-
php自定义函数实现统计中文字符串长度的方法小结
本文实例讲述了php自定义函数实现统计中文字符串长度的方法.分享给大家供大家参考,具体如下: 中文字符计算为2个字符 英文字符计算为1个 代码 /** * 可以统计中文字符串长度的函数 * */ function abslength($str) { $len=strlen($str); $i=0; while($i<$len) { if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",$str
-
Python实现统计文本文件字数的方法
本文实例讲述了Python实现统计文本文件字数的方法.分享给大家供大家参考,具体如下: 统计文本文件的字数,从当前目录下的file.txt取文件 # -*- coding: GBK -*- import string import sys reload(sys) def compareItems((w1,c1), (w2,c2)): if c1 > c2: return - 1 elif c1 == c2: return cmp(w1, w2) else: return 1 def main()
-
IE浏览器与FF浏览器关于Ajax传递参数值为中文时的区别实例分析
本文实例讲述了IE浏览器与FF浏览器关于Ajax传递参数值为中文时的区别.分享给大家供大家参考,具体如下: 前面介绍了<Javascript基于AJAX回调函数传递参数>,这里主要来分析一下ajax传递中文参数过程中针对不同浏览器的乱码处理方法. Ajax传递参数为中文时出现乱码,我遇到的情况是: 1.我的数据库连接 编码为 GB2312,latin1_swedish_ci 2.php 文件编码格式为 UTF-8,浏览器显示编码为 : UTF-8 3.我的页面显示方式为两种: 一)页面加载时自
-
php简单统计中文个数的方法
本文实例讲述了php简单统计中文个数的方法.分享给大家供大家参考,具体如下: 之前的公司是做外贸的用到的都是英文所以统计的长度的时候是用strlen这个函数,一直也没有错误,但是现在统计中文的时候这个就出错了,现在做一下记录测试 <?php echo strlen("你好ABC") . ""; # 输出 9 echo mb_strlen("你好ABC", 'UTF-8') . ""; # 输出 5 echo mb_str
-
javascript实现点击商品列表checkbox实时统计金额的方法
本文实例讲述了javascript实现点击商品列表checkbox实时统计金额的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999
-
java统计汉字字数的方法示例
本文实例讲述了java统计汉字字数的方法.分享给大家供大家参考,具体如下: public class TongJiHanZi { public static int count(String text) { String Reg="^[\u4e00-\u9fa5]{1}$";//正则 int result=0; for(int i=0;i<text.length();i++){ String b=Character.toString(text.charAt(i)); if(b.m
-
一个实用的FSO-实时统计在线人数
count.asp: <%Server.ScriptTimeout=300 id=Trim(Request.QueryString("id")) fc=Trim(Request.QueryString("fc")) if fc="" then fc="FFFF00" bg=Trim(Request.QueryString("bg")) if bg="" then bg="
随机推荐
- JavaScript 解析Json字符串的性能比较分析代码
- vue-cli 自定义指令directive 添加验证滑块示例
- 原生js实现图片放大缩小计时器效果
- java-servlet-转发AND路径(详解)
- perl脚本学习指南--读书笔记
- PHP中文编码小技巧
- PHP合并数组+号和array_merge的区别
- Javascript 运动中Offset的bug解决方案
- 协定需要会话,但是绑定“BasicHttpBinding”不支持它或者因配置不正确而无法支持它
- C语言变量类型的深入分析
- php 转换字符串编码 iconv与mb_convert_encoding的区别说明
- js iframe跨域访问(同主域/非同主域)分别深入介绍
- 详解TCP的四种定时器
- 用jquery快速解决IE输入框不能输入的问题
- jquery实现弹窗功能(窗口居中显示)
- JS.elementGetStyle(element, style)应用示例
- 金山反病毒20050125_日报
- Python可变参数用法实例分析
- PHP API接口必备之输出json格式数据示例代码
- c++中的4种类型转化方式详细解析