确定它是不是是 PHP 中字符串的结尾

Posted

技术标签:

【中文标题】确定它是不是是 PHP 中字符串的结尾【英文标题】:Determine if it's end of a string in PHP确定它是否是 PHP 中字符串的结尾 【发布时间】:2017-05-22 13:55:47 【问题描述】:

有没有办法确定它是否已到达字符串的末尾。 现在我正在使用这个 php 函数

<?php echo substr('some text', 0, 7)?>

限制要显示的字符数。现在我想在文本中添加“...”,但前提是它不是字符串的结尾。

所以当我收到“你好!”的文字时它会显示整个事情,如果我有一个文本“确定”,它不仅会显示“Determi”,还会添加这个“...”,就像“Determi ...”一样。

我已经尝试过这些椭圆和溢出方式,但它们对我不起作用。

上面描述的这样的事情是可能的吗?

【问题讨论】:

你看过strlen吗?你可以用它来比较你想要的长度。 【参考方案1】:

你可以通过内置函数mb_strimwidth来实现:

<?php
echo mb_strimwidth("some text", 0, 7, "...")
// output: "some te..."
?>

【讨论】:

哦,真好,不知道那个! 确实不错。很高兴知道有一个小而简单的功能!【参考方案2】:

你可以这样做:

<?php echo (strlen($text) > 7 ? (substr($text, 0, 7) . '...') : $text) ?>

如果字符串超过 7 个字符,则仅回显前 7 个字符并添加 ...,否则仅回显文本

【讨论】:

【参考方案3】:
function trimStr($str, $len = 7) 
  return strlen($str) > $len ? substr($str, 0, $len) . '...' : $str;

【讨论】:

以上是关于确定它是不是是 PHP 中字符串的结尾的主要内容,如果未能解决你的问题,请参考以下文章

程序如何确定字符串的结尾?

wchar 以单个或两个空字节结尾?

我可以检查一个字符串是不是以 null 结尾,但不能检查它是不是还没有以 null 结尾

nginx 位置包含字符串 + 以结尾

php编程:如何确定数组中的元素是不是包含某一字符串?

php字符串操作 如何确定一个字符是不是在字符串中strpos函数貌似返回位置 若该字符在开头则返回0就是假了