11
A
回答
15
只檢查長度,看它是否超過30個字符或不:
if (strlen($message) > 30)
{
echo substr($message, 0, 30)."..";
}
else
{
echo $message;
}
在我的排版雞蛋裏挑骨頭有這樣補充:使用正確的字符是包括這個人物…
省略號, 三個個點...
或其HTML實體…
。
5
只需檢查原始字符串的長度,看看是否需要截斷。如果它比30長,截斷字符串,並添加結束點:
if (strlen($message) > 30) {
echo substr($message, 0, 30)."..";
} else {
echo $message;
}
4
if (strlen($message) > 30) {
echo substr($message, 0, 30) . "..";
} else {
echo $message;
}
0
添加strlen()
條件?
1
你可以這樣做:
echo strlen($message) > 30 ? substr($message, 0, 30) . '..' : $mssage;
基本上,它像(但短):
if (strlen($message) > 30) {
echo substr($message, 0, 30) . "..";
} else {
echo $message;
}
+0
更短,但它是野蠻的語言,不像簡單和簡單的英語'如果str [len] [消息] [超過30 ...' – 2010-08-17 13:33:52
+0
是的,但我喜歡這種事情的三元語法。它更短,更重要。它也是其使用的教科書場景(與兩個分支具有相同「結果」的分支邏輯)...... – ircmaxell 2010-08-17 13:42:01
4
應該指出的是,strlen的()函數不計的字符,它字節數爲單位。如果您使用的是UTF-8編碼,則最終可能會有1個字符計算爲最多4個字節。做到這一點的正確方法是這樣的:
echo mb_strlen($message) > 30 ? mb_substr($message, 0, 30) . "..." : $message;
相關問題
- 1. PHP截斷字符串
- 2. 截斷字符串
- 3. 截斷字符串
- 4. mb_substr不截斷中國字符正確
- 5. tranwrd不正確替換和截斷目標字符串
- 6. 正確PHP語法截斷在PHP行
- 7. KRL:截斷字符串
- 8. RODBC字符串被截斷
- 9. UILabel字符串截斷
- 10. 腳本截斷字符串
- 11. 的WriteFile()截斷字符串
- 12. BufferedWriter將截斷字符串
- 13. 截斷字符串錯誤
- 14. 字符串截斷的ClientDataSet
- 15. Powershell截斷字符串
- 16. Python截斷長字符串
- 17. 截斷字符串在Javascript
- 18. Rails的截斷字符串
- 19. pad /截斷字符串
- 20. 截斷在python字符串
- 21. postgresql截斷字符串
- 22. x個字符後截斷字符串
- 23. Powershell - 截斷字符串中的字符
- 24. 用特定分隔符截斷PHP字符串
- 25. 正則表達式在截尾處截斷字符串
- 26. 使用的sscanf()截斷字符串
- 27. 如何防止PHP字符串在1997字符後截斷
- 28. 包含非ASCII字符的字符串被PHP/MySQL截斷
- 29. 使用截斷字符串替換數組中的字符串
- 30. 按字節截斷字符串
爲什麼兩個點代替通常的三個點?不是每一個偏離標準的都是好的。如果你關心「丟失」字符,你可以在* one *字符中使用雙曲橢圓(這就是所謂的三個點),這要歸功於Unicode:'...'(嘗試用鼠標選擇它,你會看到它確實只有一個字符)。 – 2010-08-17 13:35:58
另外,雙曲線省略號不是三點或週期。省略號是一個完全獨立的實體,不應該被三個點代替,因爲它們與字符具有不同的屬性,並且在文本中佔用不同的間距。改用實際的省略號。 – junkfoodjunkie 2016-12-14 21:32:19