2014-03-04 60 views
1

我正在嘗試執行下一個任務: 我有一個字符串,例如。 「產品名稱很長,因此可以連接到多條生產線上」。我想做出下一個定製:如果字符串中的一些charackters(不帶空格)將超過22,請將其裁掉最後一個單詞,並添加「...」。將字符串限制爲某些字符數

+2

酷,然後再去做。如果您不知道如何,請發佈您的當前代碼並提出問題。 – Prinzhorn

+0

^我在這個問題中給出的答案包括一個更漂亮的CSS解決方案,這是因爲我們無法像WWWWWWWWWW那麼長。 –

+0

我已閱讀您的解決方案與CSS。但是,瀏覽器如何知道我要離開多少個角色?而且,它會成爲跨瀏覽器的解決方案嗎? – volodymyr3131

回答

-1

你可以這樣做:

<?php 
$text = "A very long woooooooooooord."; 
if(strlen($text) > 22) { 
echo substr($text, 1, 22).".."; 
} else { 
echo $text; 
} 

?> 
+0

OP希望**在**字符後切出**一個字符串,*不是*將其分成不同的行 –

+0

@AmalMurali更正後 –

+0

這是什麼意思?糾正一下什麼? ? –

1
<?php 
    if(strlen($yourString) > 22) 
    $rest = substr($yourString, 22,-1)."..."; 
    else 
    $rest = $yourString; 
    echo $rest; 
?> 

如果你想要的最後一句話沒有再切,

<?php 
$yourString = "bla blaaa bla blllla bla bla"; 
$out = ""; 
if(strlen($yourString) > 22) { 
    while(strlen($yourString) > 22) { 
     $pos = strrpos($yourString, " "); 
     if($pos !== false && $pos <= 22) { 
      $out = substr($yourString,0,$pos); 
      break; 
     } else { 
      $yourString = substr($yourString,0,$pos); 
      continue; 
     } 
    } 
} else { 
    $out = $yourString; 
} 
echo "Output String: ".$out; 
?> 
+0

如果'$ yourString'已經小於最大長度? –

+0

@NiettheDarkAbsol yes男人..我忘了那個條件 – Jaykishan

+0

在我的情況下,它返回: ry長名稱,以便它繼續多於一個林... 這是不正確的..此外,我需要最後一個字是滿的,不在此示例中剪切 – volodymyr3131

0
if(strlen($myString)>=22) 
{ 
    $result = substr($myString, 0, 22)."..."; 
} 
else 
{ 
    $result = $myString; 
} 
+0

有點評論不會傷害 – nKn