2009-10-31 128 views
1

我正在用mysql构建一个RSS脚本,并且我不想在数据库中添加一个字段...我想用“... Read More”缩小文章的正文,但是即时通讯不知道如何限制在页面上回传的字符数量?限制字符串字符 - PHP

当然不是这样的语法,而是沿着线的东西:

echo(limit($row['newsBody'], 1000)); 

我不,如果它需要15行代码来做到这一点的头脑;)

附:我确定limit()是一个函数,请不要告诉我..它只是一个例子;)

在此先感谢!

+1

你可以做到这一点很容易使用的strlen()和SUBSTR() 。 – 2009-10-31 23:17:10

+2

另外,为了避免切词,wordwrap():http://de3.php.net/wordwrap – 2009-10-31 23:18:08

回答

5
echo(substr($row['newsBody'], 0, 1000)); 

substr功能是你在找什么。或者,如果您正在处理多字节字符串,则可以使用mb_substr

1
substr($string, 0, 1000); 
3

你能做到这一点

$body = $row['newsBody']; 
$length = strlen($body) > 1000 ? 1000 : strlen($1000); 
echo substr($body,0, $length); 

它会打印前1000个字符或曾经是整个消息较短

+0

+1为倒退*或两者中较短者考虑。 – 2009-10-31 23:20:25

+1

根据'$ s'的长度,'substr($ s,0,$ length)'最多返回'$ length'字符,所以'strlen()'检查不是必需的。 http://php.net/manual/en/function.substr.php – 2009-10-31 23:21:47

+0

啊,是的,没错。 :) 我只是把它留在这里,因为它可能会给某个人做这样的检查的想法,在其他情况下可能很重要。 – Aishwar 2009-10-31 23:26:13