如何添加…在字符串结束后使用'substr'在php中


How to add ... after end of string when using 'substr' in php?

我有文字,例如:

$str = 'Hi there bla bla';

$str

使用substr函数
substr($str, 0 , 20);

我有全文,但如果我有更长的文本,我们说:

$str = "Hi there bla bla Hi there bla bla Hi there bla bla";
$substred = substr($str, 20, 21);

我想我可以用

if ($substred) { echo "..."; };

但是它不起作用…div ?

  1. 总是检查,如果你想剥离的字符串有这20个字符,以防止灾难
  2. 如果你检查,你可以很容易地添加条件,将...添加到你的字符串
代码:

if (strlen($string) > 20) {
   $string = substr($string, 0, 20) . "..."; }

您需要像这样用圆点回显整个语句

$str = "Hi there bla bla Hi there bla bla Hi there bla bla";
$sentence = substr($str, 0, 21);
echo $sentence."....";

这是你要找的吗?您可能应该先计数,然后返回结果。http://codepad.org/OFo6MG6P

<?php
$str = 'Hi there bla bla';
echo 'Original: "'.$str.'", long one: "';
substr($str, 0 , 20);
$str = "Hi there bla bla Hi there bla bla Hi there bla bla";
$substred = substr($str, 20, 21);
if (strlen($str) > 20) { echo $substred."...'""; };
?>

我假设你想回显文本,但只有一部分,如果它太长,并添加"…"。

if (strlen("$txt")> 20){
   echo substr($txt,0,20)."...";
}

这并不能直接回答问题,但是如果要通过HTML显示字符串,则可能很有用。在CSS中,可以使用text-overflow样式属性,并将其值设置为ellipsis。

str美元

如果您希望使用三元逻辑的内联形式

你可以这样做:

$string = "Hey, Hello World"
strlen($string) < 10 ? $string : substr($string, 0, 10) . '...';

输出:Hey, Hello…