<分区>
我试图在 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。
有人会介意向我指出实现此目标的方向吗?任何帮助将不胜感激。
提前致谢。
最佳答案
显而易见的事情是阅读 documentation .
但要帮助: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;
}
因此在您的情况下,您可以将此函数粘贴到 functions.php 文件中并在您的页面中这样调用它:
$post = the_post();
echo truncate($post, 100);
这会将您的帖子截断到 100 个字符之前或等于 100 个字符的最后一个空格。显然,您可以传递任何数字而不是 100。无论您需要什么。
关于php - 在 PHP 中截断文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9219795/
相关文章:
javascript - 允许发送多封电子邮件并发送给所有人的表单
php - MySQL截断结果,导致警告: array_multisort(): Array sizes are inconsistent
PHP fatal error : Property $id of class MongoId cannot be read in Unknown on line 0
postgresql - 为什么在表上禁用触发器后外键仍处于事件状态?
java - 在使用 Hibernate 时可以截断数据库表吗?
Java - System.out.printf 舍入 float