我是 PHP 新手。
我正在使用带有 ACF(高级自定义字段)的 Wordpress,因此我从字段中获取的任何数据都使用以下代码:
echo $fieldname;
这些字段之一是有关某事的信息,我想做的是限制检索到的字符数量,以便仅显示 150 个字符。
任何人都知道如何做到这一点?
你可以用substr做到这一点:
$str = "Aliquam odio eros, consectetur eu euismod faucibus, venenatis lobortis nulla. Pellentesque libero massa, bibendum in tempus ut, pretium et ante. In bibendum volutpat porta. ";
echo substr($str, 0, 150);
但是如果你有一个很长的字符串,那么你可能想在一个单词之后剪掉它。您可以为此使用以下功能(当它太长时它将切断 str 并将其...
放在后面):
function truncate_string($str, $length) {
if (!(strlen($str) <= $length)) {
$str = substr($str, 0, strpos($str, ' ', $length)) . '...';
}
return $str;
}
您也可以在客户端执行此操作。我不知道你想达到什么目的,但如果它是一个标题或其他东西,并且你不希望它太长并破坏你的布局,那么你可以使用 CSS3 text-overflow
:jsFiddle 示例
如果您关心剪切以便不想剪切单词内的句子,则可以使用此功能:
function safeShrinkText($text, $length = 100, $suffix = '...')
{
$text = strip_tags($text);
if ($length > strlen($text)) {
return $text;
}
while (!isset($text[$length]) || $text[$length] != ' ' && $length != 0) {
$length--;
}
return mb_substr($text, 0, $length) . $suffix;
}
这个函数不会剪切单词里面的句子。