我想在主页上显示2个帖子的片段。这是我的代码:
function getPostsHome() {
$query = mysql_query("SELECT * FROM posts LIMIT 0,2") or die(mysql_error());
while($post = mysql_fetch_assoc($query)) {
echo "<h3>" . $post['Title'] . "</h3>";
echo "<p>" . $post['Content'] . "</p><br /><br />";
}
}
如何将标题截断为25个字符,然后是'...',将内容截断为100个字符,然后'...'?
谢谢。
答案 0 :(得分:0)
试试这个
function getPostsHome() {
$query = mysql_query("SELECT * FROM posts LIMIT 0,2") or die(mysql_error());
while($post = mysql_fetch_assoc($query)) {
echo "<h3>" . (strlen($post['Title']) > 25 ? substr($post['Title'], 0, 25)."..." : $post['Title']) . "</h3>";
echo "<p>" . (strlen($post['Content']) > 100 ? substr($post['Content'], 0, 100)."..." : $post['Content']) . "</p><br /><br />";
}
}
抱歉,现在已经修好了
答案 1 :(得分:0)
使用substr()
和strlen()
函数:
替换:
echo "<h3>" . $post['Title'] . "</h3>";
使用:
if(strlen($post['Title']) >25)
echo "<h3>" . substr($post['Title'],0,25)."....</h3>";
else
echo "<h3>" . $post['Title'] . "</h3>";
答案 2 :(得分:0)
希望这有帮助:D
<?php
function trunc($str, $len) {
if (strlen($str) > $len) {
$str = substr($str, 0, $len) . "...";
}
return $str;
}
$title = trunc($title, 25);
$content = trunc($content, 100);
echo $title;
?>
答案 3 :(得分:0)
其他答案会产生奇怪的结果。考虑一个26个字符的字符串。在其他答案中,此字符串被截断为25个字符+ 3“......”。字符串的26个字符26.这不是你想要的。因此,答案很好:
<?php
function trunc($str, $len) {
if (strlen($str) > $len+3) {
$str = substr($str, 0, $len) . "...";
}
return $str;
}
$title = trunc($title, 25);
$content = trunc($content, 100);
echo $title;
?>