php缩短显示的文本量

时间:2011-08-01 17:59:21

标签: php mysql

我试图限制从MySQL而不是MySQL LIMIT显示的文本/数据量,但是像大多数博客一样限制它在实际页面上。在某些文本点之后它们只显示...更多,我知道有一个函数在PHP中执行此操作但我无法记住它的名称可以帮助我吗?

7 个答案:

答案 0 :(得分:10)

if(strlen($text)>1000){
    $text=substr($text,0,1000).' Read more';
}

你应该明白它也可以剪切文字和标签。

答案 1 :(得分:7)

SELECT LEFT(content, 1000) FROM blog 

如果您加载整个内容(例如30 000个字符并执行substr()),则会浪费内存以便仅显示1000个。

答案 2 :(得分:3)

你可以使用这样的函数(取自http://brenelz.com/blog/creating-an-ellipsis-in-php/):

function ellipsis($text, $max=100, $append='…')
{
    if (strlen($text) <= $max) return $text;
    $out = substr($text,0,$max);
    if (strpos($text,' ') === FALSE) return $out.$append;
    return preg_replace('/\w+$/','',$out).$append;
}

这不会像substr。那样削减一半的单词。

答案 3 :(得分:1)

有几种方法可以做到,最简单的可能是substr()

$short = substr($long, 0, $max_len);

答案 4 :(得分:1)

string substr(string $ string,int $ start [,int $ length])

它接受两个论点。第一个是你想修剪的字符串。第二个是长度,以你想要归还的字符为单位。

http://php.net/manual/en/function.substr.php

答案 5 :(得分:0)

    <?

   $position=14; // Define how many character you want to display.

   $message="You are now joining over 2000 current"; 
   $post = substr($message, 0, $position); 

   echo $post;
   echo "..."; 

?>

此结果显示消息中的14个字符

答案 6 :(得分:0)

应用wrap()函数来获取缩短的文本,并将“99”替换为要限制它的字符数。

function wrap($string) {
   $wstring = explode("\n", wordwrap($string, 99, "\n") );
   return $wstring[0];
}