2010-01-23 39 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