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