在php中使用'substr'时,如何在字符串结尾后添加...?

时间:2013-03-31 18:00:00

标签: php substr

我有文字,例如:

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

但它不起作用..?

6 个答案:

答案 0 :(得分:4)

  1. 总是chceck,如果你要剥离的字符串有20个字符以防止灾难
  2. 如果您进行了检查,则可以轻松添加条件以将...添加到字符串
  3. 代码:

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

答案 1 :(得分:0)

你需要用这样的点

来回显完整的陈述
$str = "Hi there bla bla Hi there bla bla Hi there bla bla";
$sentence = substr($str, 0, 21);
echo $sentence."....";

答案 2 :(得分:0)

这是你要找的吗?您应该先计算它,然后回显结果。 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."...\""; };
?>

答案 3 :(得分:0)

我假设您想要回显一个文本,但只有它的一部分,如果它太长并添加“...”。这可能有用......

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

答案 4 :(得分:0)

这不会直接回答问题,但如果要通过HTML显示字符串,则可能很有用。可以使用带有省略号值的样式属性text-overflow在CSS中完成。

$ STR

答案 5 :(得分:0)

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

您可以按照以下步骤进行操作:

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

输出:嗨,你好...