Php 如何在html_entity_decode()之后计算字符串的总长度

Php 如何在html_entity_decode()之后计算字符串的总长度,php,sql,Php,Sql,我用的是TinyMCE,它只是一个你们看到的就是你们得到的文本区域,用来将我的帖子数据输入我的数据库 我面临的问题是,我必须在第一页显示20个字符的数据,但我不知道如何显示 我曾尝试制作一个函数,如果数据的字符数小于20,则显示整个数据;如果字符数大于20,则仅显示20个字符 function displayString($str){ if(strlen($str) < 20){ return $str; }else{

我用的是TinyMCE,它只是一个你们看到的就是你们得到的文本区域,用来将我的帖子数据输入我的数据库 我面临的问题是,我必须在第一页显示20个字符的数据,但我不知道如何显示

我曾尝试制作一个函数,如果数据的字符数小于20,则显示整个数据;如果字符数大于20,则仅显示20个字符

function displayString($str){
        if(strlen($str) < 20){
            return $str;    
        }else{
            return(substr($str, 0,20)."...");
        }

    }
displayString(utf8_decode(html_entity_decode($content)));
函数显示字符串($str){
如果(strlen($str)<20){
返回$str;
}否则{
申报表(substr($str,0,20)。”);
}
}
显示字符串(utf8_解码(html_实体_解码($content));

我面临的问题是,它在html\u entity\u解码之前计数元素,但我想在转换后接收字符串的数量,所以有没有算法来执行此操作?

您显示的代码不会去除标记。 为此,您应使用:

function displayString($str){
    if(strlen($str) < 20){
       return $str;    
    }else{
        return(substr($str, 0,20)."...");
    }
}

var_dump(displayString(utf8_decode(strip_tags(html_entity_decode($content)))));
函数显示字符串($str){
如果(strlen($str)<20){
返回$str;
}否则{
申报表(substr($str,0,20)。”);
}
}
var_dump(显示字符串(utf8_解码(strip_标记(html_实体_解码($content '))));

不要使用utf8\u解码。@Dharman仍然存在相同的问题请提供一个输入字符串示例,并解释到底是什么问题。@misorude当我保存数据时,它保存为pstrong asasaddsa/strong<,就像这样,但我只想计算文本部分的数量,即asadsahtml\u entity\u decode不会删除
/
等,而是将它们转换回实际字符。如果只需要包含HTML的字符串的文本内容,可以使用strip_标记。