当前位置: 首页 > 面试题库 >

获取字符串的前n个字符

阎咏思
2023-03-14
问题内容

如何在PHP中获取字符串的前n个字符?将字符串修剪为特定数量的字符并在需要时附加“ …”的最快方法是什么?


问题答案:
//The simple version for 10 Characters from the beginning of the string
$string = substr($string,0,10).'...';

更新:

基于检查长度的建议(并确保修剪后的和未修剪的琴弦的长度相似):

$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;
}


 类似资料:
  • 问题内容: Java中的String数据类型使我们可以通过codePointCount知道一个字符串中有多少个Unicode字符。以及如何通过codePointAt获取第n个unicode char。我很想知道是否有一个API来获取包含Java中前N个unicode字符的子字符串。 谢谢, 问题答案: 没有一个方法可以一次调用,但可以帮助您完成此操作。

  • 问题内容: 我试图提取一个子字符串。我需要在PHP中做一些帮助。 以下是一些我正在使用的示例字符串以及需要的结果: 我想将字符串保留到第一个,但是如果不存在,请获取整个字符串。 我试过了, 我认为它说-获取位置,然后从位置0到 该 位置获取子字符串。 我不知道如何处理不存在的情况,而又不会使声明太大。 有没有一种方法也可以处理这种情况而又不会使PHP语句过于复杂? 问题答案: 采用 在这种情况下,

  • 我正在尝试获取字符串中的前两个字符。这是我的代码: 这给了我一个错误: 解析错误:语法错误,第5行C:\laragon\www\karakter_tamamlama.php中出现意外的“%” 为什么我会出错?

  • 问题内容: 如何使用php从字符串中获取前5个字符 结果应该是这样的 问题答案: 对于单字节字符串(例如US-ASCII,ISO8859系列等),请使用;对于多字节字符串(例如UTF-8,UTF-16等),请使用:

  • 如何获得字符串的第N个字符?我尝试了括号()访问器,但没有成功。 错误:“subscript”不可用:不能用Int为字符串下标,有关讨论,请参阅文档注释

  • 在JavaScript中有没有办法删除字符串的结尾? 我只需要保留字符串的前8个字符,并删除其余字符。