我试图限制从MySQL而不是MySQL LIMIT显示的文本/数据量,但是像大多数博客一样限制它在实际页面上。在某些文本点之后它们只显示...更多,我知道有一个函数在PHP中执行此操作但我无法记住它的名称可以帮助我吗?
答案 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])
它接受两个论点。第一个是你想修剪的字符串。第二个是长度,以你想要归还的字符为单位。
答案 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];
}