0

0

php中文字符串截取 php截取中文字符串的代码

php中文网

php中文网

发布时间:2016-07-25 09:04:16

|

1064人浏览过

|

来源于php中文网

原创

  1. /**

  2. @截取中文字符串 适用于gb2312编码
  3. @http://bbs.it-home.org
  4. */
  5. function fsubstr($title,$start,$len="",$magic=true)
  6. {
  7. $length = 0;
  8. if($len == "") $len = strlen($title);
  9. //判断起始为不正确位置

  10. if($start > 0)
  11. {
  12. $cnum = 0;
  13. for($i=0;$i{
  14. if(ord(substr($title,$i,1)) >= 128) $cnum ++;
  15. }
  16. if($cnum%2 != 0) $start--;
  17. unset($cnum);

  18. }
  19. if(strlen($title)

  20. $alen = 0;

  21. $blen = 0;

    立即学习PHP免费学习笔记(深入)”;

    MD5校验和计算小程序(C)
    MD5校验和计算小程序(C)

    C编写,实现字符串摘要、文件摘要两个功能。里面主要包含3个文件: Md5.cpp、Md5.h、Main.cpp。其中Md5.cpp是算法的代码,里的代码大多是从 rfc-1321 里copy过来的;Main.cpp是主程序。

    下载
  22. $realnum = 0;

  23. for($i=$start;$i{

  24. $ctype = 0;
  25. $cstep = 0;
  26. $cur = substr($title,$i,1);
  27. if($cur == "&")
  28. {
  29. if(substr($title,$i,4) == "{
  30. $cstep = 4;
  31. $length += 4;
  32. $i += 3;
  33. $realnum ++;
  34. if($magic)
  35. {
  36. $alen ++;
  37. }
  38. }
  39. else if(substr($title,$i,4) == ">")
  40. {
  41. $cstep = 4;
  42. $length += 4;
  43. $i += 3;
  44. $realnum ++;
  45. if($magic)
  46. {
  47. $alen ++;
  48. }
  49. }
  50. else if(substr($title,$i,5) == "&")
  51. {
  52. $cstep = 5;
  53. $length += 5;
  54. $i += 4;
  55. $realnum ++;
  56. if($magic)
  57. {
  58. $alen ++;
  59. }
  60. }
  61. else if(substr($title,$i,6) == """)
  62. {
  63. $cstep = 6;
  64. $length += 6;
  65. $i += 5;
  66. $realnum ++;
  67. if($magic)
  68. {
  69. $alen ++;
  70. }
  71. }
  72. else if(substr($title,$i,6) == "'")
  73. {
  74. $cstep = 6;
  75. $length += 6;
  76. $i += 5;
  77. $realnum ++;
  78. if($magic)
  79. {
  80. $alen ++;
  81. }
  82. }
  83. else if(preg_match("/(\d+);/i",substr($title,$i,8),$match))
  84. {
  85. $cstep = strlen($match[0]);
  86. $length += strlen($match[0]);
  87. $i += strlen($match[0])-1;
  88. $realnum ++;
  89. if($magic)
  90. {
  91. $blen ++;
  92. $ctype = 1;
  93. }
  94. }
  95. }else{
  96. if(ord($cur)>=128)
  97. {
  98. $cstep = 2;
  99. $length += 2;
  100. $i += 1;
  101. $realnum ++;
  102. if($magic)
  103. {
  104. $blen ++;
  105. $ctype = 1;
  106. }
  107. }else{
  108. $cstep = 1;
  109. $length +=1;
  110. $realnum ++;
  111. if($magic)
  112. {
  113. $alen++;
  114. }
  115. }
  116. }
  117. if($magic)

  118. {
  119. if(($blen*2+$alen) == ($len*2)) break;
  120. if(($blen*2+$alen) == ($len*2+1))
  121. {
  122. if($ctype == 1)
  123. {
  124. $length -= $cstep;
  125. break;
  126. }else{
  127. break;
  128. }
  129. }
  130. }else{
  131. if($realnum == $len) break;
  132. }
  133. }
  134. unset($cur);

  135. unset($alen);
  136. unset($blen);
  137. unset($realnum);
  138. unset($ctype);
  139. unset($cstep);
  140. return substr($title,$start,$length);

  141. }
  142. ?>
复制代码

复制以上代码,在你的php平台中进行测试吧,多动手,水平提高会更快。 程序员之家,您学习路上的好朋友。



相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP基础入门课程
PHP基础入门课程

共33课时 | 1.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号