为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
拉丁的传说 2019-08-23 09:41:45
将多字节字符串截断为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_*功能,但都产生了错误的结果。这不是那么困难,所以我显然缺少一些东西。有人会为此分享一个有效的实现,或者指向一个资源,我终于可以理解如何做到这一点。
查看完整描述

3 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

刚发现PHP已经有多字节截断了

但它并不遵守词边界。但是方便!


查看完整回答
反对 回复 2019-08-23
  • 3 回答
  • 0 关注
  • 459 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信