2010-01-23 74 views
3

就像iPhone的应用程序名称运行时间过长一样,名称也会缩短。我真的很喜欢这种缩短名称或字符串的方法,而不是附加一个“...”子句。对不起,如果我感到困惑,我无法解释我正在尝试做什么。所以我会举一个例子!使用“...”身体缩短字符串

这就是我,追加“...”缩短时间的字符串(在PHP)

<?php 
    $string = "This is a test script"; 

    if (strlen($string) >= 14) 
    echo(substr($string), 0, 13). "..."); // This is a test... 
    else 
    echo($string); // This is a test script 
?> 

我想分手的名称或字符串,并保持先说10个字符,然后在中间插入“...”,最后取出字符串的结尾5个字母并显示它们。我在想:

<?php 
    $string = "This is a test script"; 

    if (strlen($string) >= 20) 
    echo(substr($string, 0, 10). "..." .substr($string, 15, 20)); //This is a ...script 
    else 
    echo($string); 
?> 

但意识到在最后只有5个字母的问题上不起作用。任何指向写入方向的指针都会很棒,谢谢!

+0

为了说明问题,是不是想要在中间切掉一个单词或者只是能够获取字符串的最后5个字符? – munch 2010-01-23 04:02:44

回答

13
if (strlen($string) >= 20) { 
    echo substr($string, 0, 10). " ... " . substr($string, -5); 
} 
else { 
    echo $string; 
} 
+0

我简直不敢相信!谢谢! – David 2010-01-23 04:10:56

+0

@Davidmoreen:没问题,不客气! – 2010-01-23 05:44:39

2

substr()的第三个参数是长度而不是结束。只需通过5

另外,substr($string, -5)

+0

这总是让我。希望在php中有另一个substr函数,它需要两个位置作为参数,而不是位置和长度。 – Joseph 2017-12-23 13:16:57