将多字节字符串截断为n个字符

我试图在字符串过滤器中使用此方法:public function truncate($string, $chars = 50, $terminator = ' …');

我期待这个$in  = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYXZ1234567890";$out = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV …";

还有这个$in  = "âãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝ";$out = "âãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđ …";

这是$chars减去$terminator字符串的字符。

此外,滤波器应该在$chars极限以下的第一个字边界切割,例如$in  = "Answer to the Ultimate Question of Life, the Universe, and Everything.";$out = "Answer to the Ultimate Question of Life, the …";

我很确定这应该适用于这些步骤从最大字符中减去终结符中的字符数量

验证该字符串是否长于计算的限制或返回它不变

在字符串下面找到最后一个空格字符,以获得字边界

如果没有找到最后一个空格,则在最后一个空格处剪切字符串

将终结符附加到字符串

返回字符串

但是,我现在尝试了各种组合str*和mb_*功能,但都产生了错误的结果。这不是那么困难,所以我显然缺少一些东西。有人会为此分享一个有效的实现,或者指向一个资源,我终于可以理解如何做到这一点。

php 多字节截取,将多字节字符串截断为n个字符相关推荐

  1. mysql 字符串超长截取_超长字符串截断注入

    该注入方法也是昨天看到某技术交流群聊到,闻所未闻便想要学习了,今天看某微信公众号的时候又再次看到关于"长字符串截断注入"的文章. 但是经过一番了解,其实这个注入姿势很难找到了,因为 ...

  2. 达梦 DM 执行SQL报字符串截断如何分析定位/超长文本截取

    达梦 DM 执行SQL报字符串截断如何分析定位/超长文本截取 DM数据库报字符串截断 1 .执行INSERT时报错 一般此类问题是由于目标表存在一个(或多个)字段长度不够,导致插入失败.重点关注CHA ...

  3. php cut截取字符串,php源码分析之DZX1.5字符串截断函数cutstr用法

    本文实例讲述了php源码分析之DZX1.5字符串截断函数cutstr用法.分享给大家供大家参考.具体分析如下: /** * 函数来源DZX1.5,文件所在 /source/function/funct ...

  4. java script 截断_JavaScript截取字符串的最后几个字符

    在JavaScript中截取字符串一般是使用内置的substring()方法和substr()方法,这两个方法功能都很强大,也都能实现截取字符串中的最后几个字符. substring()方法 Java ...

  5. mysql 字符串 截取字母_MySQL字符串函数:字符串截取

    MySQL 字符串截取函数:left(), right(), substring(), substring_index().还有 mid(), substr().其中,mid(), substr() ...

  6. mysql 中文截取_中文字符串截取

    java多字节字符串按字节截取 算法思路 1.先按照实际要截取的字节长度,复制一份字节数组 2.转换回字符串,计算字符长度resLen,并按这个长度截取原字符串 3.计算截取的字符串的字节数是否等于需 ...

  7. php字符串截取substr,php字符串处理函数:substr、mb_substr

    字符串处理在实际应用中会频繁的用到,熟练掌握字符串截取技巧可以简化程序开发中很多代码处理. substr- 返回字符串的子串 string substr(string $string, int $st ...

  8. 蓝桥杯-打印菱形/字符串截断

    字符串截断 package august20;public class 字符串截断 {public static void main(String[] args) {String a="he ...

  9. 截取前四位字符串_Python的字符串切片

    字符串由一个个字符组成,每一个字符都有一个唯一的位置. 例如字符串'ABC',第一个字符是'A',第二个字符是'B',第三个字符则是'C'. 在设计程序时我们可以根据位置来取出对应位置的字符,用[ ] ...

最新文章

  1. 分享9个提高代码运行效率的小技巧
  2. R语言笔记8:两个重要函数——用来分解数据框的split和用来查看对象的str
  3. 网络编程学习笔记(TCP回射服务器程序修订版)
  4. Jmeter中中文乱码
  5. android intent短信,android – 通过Intent发送短信,并知道短信是否已被发送
  6. 2015-4-20 BAV推广页面修改前后对比-安全网购
  7. SELECT命令中的GROUPBY和HAVING子句
  8. Opencv——图像膨胀
  9. 项目管理excel_项目管理甘特图是什么?怎么做才能更高效?(EXCEL制作甘特图详细步骤)...
  10. linux程序运行段错误,Linux下的段错误产生的原因及调试方法
  11. 代价函数详解(合页代价与softmax代价)
  12. 编程基本功:自己听不懂,不要埋怨别人讲的没用
  13. 用java代码模拟鼠标双击事件
  14. 微信公众号菜单html5,微信公众号自定义菜单全攻略
  15. Android and HTML5 开发手机应用
  16. 鑫缘聚禾:拼多多拼团怎么拼
  17. linux - syslog详解
  18. 《白帽子讲web安全》——吴瀚清 阅读笔记
  19. requires erlang = R16B-03
  20. Gurobi安装详细指南-2020最新版

热门文章

  1. Mysql学习总结(36)——Mysql查询优化
  2. c语言迷宫求解毕业设计,毕业设计(论文)-基于Windows平台C语言实现迷宫游戏的设计.doc...
  3. greenplum配置高可用_0665-6.2.0-如何在CDH中配置HMS高可用
  4. 生日快乐网站_【总结 】文化自信源自基层贺房氏网站建站十五周年
  5. 万测试验机软件,万测TestStar®新秀®100kN微机控制电子万能试验机
  6. Java工程师学习指南 中级篇
  7. Android学习笔记之ListView与Item的焦点冲突处理
  8. LCD驱动 15-1
  9. char* 与 LPCTSTR转换
  10. JAVA_pagecontext页面跳转