繁体   English   中英

PHP - 如何在某一点将“...”附加到不同长度的字符串? 例如,200个字符之后

[英]PHP - How to append “…” to a string of varying length at a certain point? e.g. After 200 chars

我有一个mysql数据库和一个充满信息的表,特别是一列产品描述。 这个列在我的脚本中使用了两次。 最大长度为1000个字符。

此信息的用途之一是对任何给定产品的简要描述。 我想显示我刚刚提到的描述的缩短版本,所以例如可以说200个字符。

现在,使用PHP我想在其达到200个字符的位置附加“...”(3个点)的字符串。 所以基本上只显示前200个字符。

我怎么会这样做? 我相信这将是一个相当简单的任务,但互联网是一个寻找你不知道名称的东西的大地方:)

如果有人可以在这方面提供帮助,可以通过示例或与相关功能相关的一些链接来实现。 非常感谢!

您可以使用substr实现此目的。

$string = substr($string,0,197) . "...";

这个用来处理实际上不是200个字符的字符串。

$string = 'your long string goes here';
if (strlen($string) >= 200) {
    $string = substr($string, 0, 197).'...';
}

资料来源: php.net/substr

我可以给你一个纯CSS的替代品(例如,适用于头条新闻)吗?

overflow: hidden; white-space: nowrap; text-overflow: ellipsis;

如果周围的元素不够长/大,则会自动切断太长的文本。

$string = 'asd';
$maxLength = 200;
if (mb_strlen($string) > $maxLength) {
    $string = mb_substr($string, 0, $maxLength) . "...";
}

首先只从您的数据库中收集200个字符。

$sql = "SELECT LEFT(article, 200) as article WHERE ETC ETC "

然后应用这样的东西 ,但基本上你需要回到前一个单词结束砍掉其余部分并重新进行省略。

…

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM