Php 限制从数据库字段检索的字符

Php 限制从数据库字段检索的字符,php,string,character,echo,Php,String,Character,Echo,说到PHP,我是个新手 我将Wordpress与ACF(高级自定义字段)一起使用,因此我从字段中获得的任何数据都使用以下代码: echo $fieldname; 其中一个字段是关于某些内容的信息,我想做的是限制检索的字符数,以便只显示150个字符 有人知道怎么做吗?可以在PHP中使用 或者只是 echo substr($fieldname, 0, 150); 或者,限制数据库查询返回的字符数,例如,和MS SQL都有一个LEFT(..)函数,该函数将限制返回的数据 i、 e 您可以通过以下方

说到PHP,我是个新手

我将Wordpress与ACF(高级自定义字段)一起使用,因此我从字段中获得的任何数据都使用以下代码:

echo $fieldname;
其中一个字段是关于某些内容的信息,我想做的是限制检索的字符数,以便只显示150个字符

有人知道怎么做吗?

可以在PHP中使用

或者只是

echo substr($fieldname, 0, 150);
或者,限制数据库查询返回的字符数,例如,和MS SQL都有一个
LEFT(..)
函数,该函数将限制返回的数据

i、 e

您可以通过以下方式完成:

但是如果你有一个长字符串,那么你可能会想在一个单词后剪掉它。您可以使用以下功能进行此操作(当str变长时,它将切断str,并将
放在其后面):

函数截断字符串($str,$length){

如果(!(strlen($str)如果您关心剪切,因此不想剪切单词中的句子,则可以使用此功能:

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;
}

此函数不会剪切单词内部的句子。

以您的方式,从数据库中获取数据后,您正在限制数据获取时是否有任何限制方法?尝试此…@RegisteredUser选择名称,主题,左侧(描述,50)作为tablename的简短描述,代码的哪一部分将从数据库中的字段中获取文本?我是否仍将以前文章中的部分与此结合使用?$str=($about);echo substr($str,0,150);此函数不从数据库检索。它只是substr函数的改进版本。shrinkText和substr之间的区别在于shrinkText不会在单词中剪切。例如:shrinkText('Hello world!!!',8,'…');返回'Hello…'。当我使用该代码时,我会得到“annot Redecare shrinkText()(以前声明的)”最初我在静态类中有这个函数。我将编辑并更改它的名称。谢谢。
SELECT LEFT(FieldName, 150) AS FieldName FROM MyTable WHERE ...
$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);
function truncate_string($str, $length) {
    if (!(strlen($str) <= $length)) {
        $str = substr($str, 0, strpos($str, ' ', $length)) . '...';
    }

    return $str;
}
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;
}