热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php中英文字符串截取函数

***php获取字符串中英文混合长度*@param$strstring字符串*@param$$charsetstring编码*@return返回长度,1中文=1位,2英文=1位*functionst
  1.  /** 
  2.   * php获取字符串中英文混合长度  
  3.   * @param $str string 字符串 
  4.   * @param $$charset string 编码 
  5.   * @return 返回长度,1中文=1位,2英文=1位 
  6.   */ 
  7.  function strlength($str,$charset='utf-8'){ 
  8.      if($charset=='utf-8'$str = iconv('utf-8','gb2312',$str); 
  9.      $num = strlen($str); 
  10.     $cnnum = 0; 
  11.     for($i=0;$i<$num;$i++){ 
  12.         if(ord(substr($str,$i+1,1))>127){ 
  13.             $cnnum++; 
  14.             $i++; 
  15.        } 
  16.     } 
  17.     $ennum = $num-($cnnum*2); 
  18.     $number = ($ennum/2)+$cnnum
  19.     return ceil($number); 
  20. }  
  21. //测试输出长度都为15 //开源代码phpfensi.com
  22. $str1 = &#39;测试测试测试测试测试测试测试测&#39;
  23. $str2 = &#39;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#39;
  24. $str3 = &#39;aa测试aa测试aa测试aa测试aaaaaa&#39;
  25. echo strlength($str1,&#39;gb2312&#39;); 
  26. echo strlength($str2,&#39;gb2312&#39;); 
  27. echo strlength($str3,&#39;gb2312&#39;); 

推荐阅读
  • 本文详细介绍了在 Vue.js 前端框架中集成 vue-i18n 插件以实现多语言支持的方法。通过具体的配置步骤和示例代码,帮助开发者快速掌握如何在项目中实现国际化功能,提升用户体验。同时,文章还探讨了常见的多语言切换问题及解决方案,为开发人员提供了实用的参考。 ... [详细]
  • 如何调整笔记本电脑触摸板的灵敏度以提升使用体验
    如何优化笔记本电脑触摸板的灵敏度以提升使用体验?本文将详细介绍如何通过系统设置和第三方软件来调整触摸板的灵敏度,从而提高操作流畅性和精准度,使用户在日常使用中更加得心应手。 ... [详细]
  • 简雍:东汉末年刘备麾下的智囊,性格直率豪爽、不拘小节
    简雍,字宪和,涿郡人,原姓耿,后因幽州方言将“耿”读作“简”,遂改姓简。他是东汉末年至三国时期刘备的重要谋士。简雍性格直率豪爽,不拘小节,年轻时便与刘备结识,成为其核心智囊之一。他在刘备麾下屡献良策,为刘备的崛起和发展做出了重要贡献。 ... [详细]
  • 如何在 PHPStorm 2017 中禁用参数名称提示功能
    在 PHPStorm 2017 中,若需禁用参数名称提示功能,可在设置面板中通过搜索 "hints" 进入相关路径,具体为:编辑器 > 常规 > 外观 > 显示参数名称提示,并取消该选项前的勾选。这一操作将有效关闭参数名称提示,提升代码编辑的整洁度和专注度。 ... [详细]
  • 探索偶数次幂二项式系数的求和方法及其数学意义 ... [详细]
  • 源代码是构建网站的基础,涵盖了网站程序的所有代码、文件和目录结构。掌握源代码意味着完全控制网站的所有权。在传统自助建站平台中,由于采用SAAS模式,源代码通常不对外开放,用户实际上每年支付的费用仅是为了使用这些平台提供的服务,而无法获得真正的代码所有权。相比之下,米拓源代码提供了全面的技术细节和实现方法,使开发者能够深入了解并自主定制网站功能,确保了更高的灵活性和安全性。 ... [详细]
  • 如何在Edge浏览器中实现无痕浏览以避免留下访问记录
    在使用Edge浏览器时,许多用户希望在浏览网页时避免留下访问记录。为了满足这一需求,Edge浏览器提供了无痕浏览模式。通过启用该模式,用户可以确保浏览历史、表单数据和临时互联网文件不会被保存。本文将详细介绍如何在Edge浏览器中开启并使用无痕浏览模式,帮助用户更好地保护隐私。 ... [详细]
  • 捕获并处理用户输入数字时的异常,提供详细的错误提示与指导
    在用户输入数字时,程序能够有效捕获并处理各种异常情况,如非法字符或格式错误,并提供详尽的错误提示和操作指导,确保用户能够准确输入有效的数字数据。通过这种方式,不仅提高了程序的健壮性和用户体验,还减少了因输入错误导致的系统故障。具体实现中,使用了Java的异常处理机制,结合Scanner类进行输入读取和验证,确保了输入的合法性和准确性。 ... [详细]
  • Python 实战:异步爬虫(协程技术)与分布式爬虫(多进程应用)深入解析
    本文将深入探讨 Python 异步爬虫和分布式爬虫的技术细节,重点介绍协程技术和多进程应用在爬虫开发中的实际应用。通过对比多进程和协程的工作原理,帮助读者理解两者在性能和资源利用上的差异,从而在实际项目中做出更合适的选择。文章还将结合具体案例,展示如何高效地实现异步和分布式爬虫,以提升数据抓取的效率和稳定性。 ... [详细]
  • EF 查询性能低下,如何优化执行效率?
    在处理 Entity Framework (EF) 查询性能问题时,发现全表查询时间反而更短。这可能是因为 EF 具有内置缓存机制。首次执行 `GetAll` 方法时,数据被缓存,因此后续相同查询的执行速度会显著提升。为了准确评估查询性能,建议在测试时清空缓存或调换查询顺序,以避免缓存对结果的影响。此外,可以通过启用查询跟踪和分析工具来进一步优化查询性能。 ... [详细]
  • 如何在TT语音中启动游戏:详细操作指南与步骤解析
    许多用户都在使用TT语音进行交流,但可能并不清楚如何在该平台上启动游戏。本文将详细介绍在TT语音中开始游戏的具体步骤。首先,在安卓设备上打开TT语音应用,进入主界面后点击“开黑”选项,然后在大厅中选择一个合适的房间。 ... [详细]
  • 本文详细介绍了 PHP 中 `sprintf` 函数的使用方法,并通过具体示例进行说明。例如,使用 `%%` 作为参数时,`%%` 会被替换为 `%`。通过 `echo sprintf($str)` 可以验证这一行为,返回的结果是“测试一下 % 这个参数,会被替换成什么”。此外,文章还探讨了 `sprintf` 函数在格式化字符串中的多种应用场景,包括数字格式化、日期时间处理等,帮助读者全面掌握该函数的使用技巧。 ... [详细]
  • 理解和应用HTTP请求中的转发与重定向机制
    在HTTP请求处理过程中,客户端发送请求(通常简称为req),服务器进行相应处理后返回响应(通常简称为res)。理解和应用客户端的转发与重定向机制是前端开发的重要内容。这两种机制在Web开发中具有关键作用,能够有效管理和优化用户请求的处理流程。转发机制允许服务器内部将请求传递给另一个资源,而重定向则指示客户端向新的URL发起新的请求,从而实现页面跳转或资源更新。掌握这些技术有助于提升应用的性能和用户体验。 ... [详细]
  • 本文详细探讨了Laravel框架中路由和控制器的操作实例,旨在为开发者提供深入的理解和实用的参考。通过具体的示例,读者可以更好地掌握如何在Laravel中配置和使用路由及控制器。此外,文章还提供了丰富的PHP编程技巧和最佳实践,帮助读者提升开发效率和代码质量。 ... [详细]
  • PHP编程中的命名规则与最佳实践 ... [详细]
author-avatar
快乐伴随su1
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有