好问题
Good  Question
  • 首 页
  • 问题
    • PHP
    • JAVA
    • CPlusPlus
    • C#
    • SQL
  • 关 于
  • 联 系
如何获得字符串的前n个字符? 关闭 返回上一级  

如何获得字符串的前n个字符?
+ 查看更多

发布日期:2017-09-03 20:53
分类:PHP
浏览次数:192

在PHP中如何获得字符串的前n个字符?最快的把一个字符串修改成前n个字符加...的字符串的方法是什么?


回答

//取字符串的前10个字符的最简单的版本
$string = substr($string,0,10).'...';

更新1:

基于检查长度的建议(同时也是保证修改后的字符串与修改前的长度相近):

$string = (strlen($string) > 13) ? substr($string,0,10).'...' : $string;

 

因此你会获得一个最多13个字符的字符串:一个长度小于等于13的原字符串或者一个由10的字符加'...'组成的字符串


更新2:

或者作为一个函数:

function truncate($string, $length, $dots = "...") {
    return (strlen($string) > $length) ? substr($string, 0, $length - strlen($dots)) . $dots : $string;
}

更新3:

我写下这个答案已经一段时间了,但我并没有使用答案的代码。我更推荐这个函数因为它可以通过使用wordwrap()这个函数来避免字符串在单词的中间被折断:

function truncate($string,$length=100,$append="…") {
  $string = trim($string);

  if(strlen($string) > $length) {
    $string = wordwrap($string, $length);
    $string = explode("\n", $string, 2);
    $string = $string[0] . $append;
  }

  return $string;
}
上一篇如何删除字符串中非字母数字的字符(仅保留字母和字符)
如何使用date函数中获得每个月的最后一天?下一篇
下一篇如何使用date函数中获得每个月的最后一天?

最新文章

  • 函数`__construct`用来干嘛的
    发布日期:2018-03-26
  • 通过访客的IP得到他们的地区
    发布日期:2018-03-26
  • 合并两个PHP对象的最好的方法是什么?
    发布日期:2018-03-26
  • 该如何把一该如何把一个对象转化成数组?
    发布日期:2018-03-26
  • 什么是输出缓冲区?
    发布日期:2018-03-26
  • 在PHP中怎么把用逗号分隔的字符串分隔在一个数组里?
    发布日期:2018-03-26
  • 在PHP中使用foreach循环时查找数组的最后一个元素
    发布日期:2018-03-26
关于好问
收集整理一些有用的问题和回答,造福中国的程序旺和IT喵们!
友情链接
起飞页 
相关信息
版权声明
Copyright © 2016 - 2022  苏州卡达网络科技有限公司 备案号:苏ICP备09008221号