在 PHP 中截断文本?[已关闭]
我试图在PHP中截断一些文本,并偶然发现了这种方法(http://theodin.co.uk/blog/development/truncate-text-in-php-the-easy-way.html),从注释来看,这似乎是一个易于实现的解决方案。问题是我不知道如何实现它:S。
有人会介意为我指出如何实现这一点的方向吗?任何帮助将不胜感激。
提前致谢。
我试图在PHP中截断一些文本,并偶然发现了这种方法(http://theodin.co.uk/blog/development/truncate-text-in-php-the-easy-way.html),从注释来看,这似乎是一个易于实现的解决方案。问题是我不知道如何实现它:S。
有人会介意为我指出如何实现这一点的方向吗?任何帮助将不胜感激。
提前致谢。
显而易见的事情是阅读文档。
但要帮助:substr($str, $start, $end);
$str
是您的文本
$start
是要开始的字符索引。在你的例子中,它可能是0,这意味着最开始。
$end
是截断的位置。例如,假设您希望以 15 个字符结尾。你会这样写:
<?php
$text = "long text that should be truncated";
echo substr($text, 0, 15);
?>
你会得到这个:
long text that
意义?
编辑
您提供的链接是一个功能,用于在将文本切成所需长度后查找最后一个空白区域,这样您就不会在单词中间切断。但是,它缺少一件重要的事情 - 要传递给函数的所需长度,而不是总是假设您希望它是25个字符。所以这是更新的版本:
function truncate($text, $chars = 25) {
if (strlen($text) <= $chars) {
return $text;
}
$text = $text." ";
$text = substr($text,0,$chars);
$text = substr($text,0,strrpos($text,' '));
$text = $text."...";
return $text;
}
因此,在您的情况下,您可以将此函数粘贴到函数.php文件中,并在您的页面中按如下方式调用它:
$post = the_post();
echo truncate($post, 100);
这会将您的帖子切到最后一次出现 100 个字符之前或等于 100 个字符的空格。显然,你可以传递任何数字而不是100。无论您需要什么。
$mystring = "this is the text I would like to truncate";
// Pass your variable to the function
$mystring = truncate($mystring);
// Truncated tring printed out;
echo $mystring;
//truncate text function
public function truncate($text) {
//specify number fo characters to shorten by
$chars = 25;
$text = $text." ";
$text = substr($text,0,$chars);
$text = substr($text,0,strrpos($text,' '));
$text = $text."...";
return $text;
}