我正在创建一个包含博客部分的网页,目前它在主页上显示整个帖子。我想设置它只显示条目的某个部分,即50个单词。然后,我希望能够设置它,以便在帖子下面有一个更多按钮,链接到帖子ID。我目前使用post.php?=#(#=无论帖子ID是什么)。
这是主页:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Blog Name</title>
<link rel="stylesheet" href="css/style.css" type="text/css" />
<body>
<div id="upper-bar">
<div id="bar-content">
<a href="#">Home</a>
<a href="#">Archives</a>
<a href="#">Contact</a>
<a href="#">About</a>
<a href="#"><img src="images/twitter.png" id="tweet"></a><a href="#"><img src="images/feed.png" id="feed"></a>
</div>
</div>
<div id="clear">
</div>
<div class="main">
<h1>Blog Name</h1>
<div class="post-col">
<?php
mysql_connect ('localhost', 'root', 'root') ;
mysql_select_db ('tmlblog');
$sql = "SELECT * FROM php_blog ORDER BY timestamp DESC LIMIT 5";
$result = mysql_query($sql) or print ("Can't select entries from table php_blog.<br />" . $sql . "<br />" . mysql_error());
while($row = mysql_fetch_array($result)) {
$date = date("l F d Y", $row['timestamp']);
$title = stripslashes($row['title']);
$entry = stripslashes($row['entry']);
$id = $row['id'];
?>
<div id='post-info'><?php echo "<p id='title'><strong><a href=\"post.php?id=". $id . "\">" . $title . "</a></strong></p>"; ?><br /></div>
<div id="post">
<?php echo $entry; ?>
<!--<br /><br />
Posted on <?php echo $date; ?> !-->
</p>
</div>
</p>
</div>
<?php
}
?>
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
一定是文字吗?很长或很短的单词可能会导致字符数量大不相同。也许你应该做一个字符计数。
如果是这样,您可以使用substr打印部分字符串(将50更改为您想要的任意数量的字符数):
<?php echo htmlspecialchars(substr($entry, 0, 50)) ?>...
<a href="/post.php?id=<?php echo $id ?>">read more</a>
或者,您可以使用SELECT SUBSTRING
通过SQL选择子字符串答案 1 :(得分:1)
SELECT SUBSTRING_INDEX(entry, ' ', 51) as entry FROM php_blog;
每个条目最多需要50个单词(假设单词用单个空格分隔)。
答案 2 :(得分:0)
$truncatedEntry = substr($entry, 0, 50) . '...';
// truncate with word-wrapping
$truncatedEntry = substr($entry, 0, strpos(wordwrap($entry, 50), "\n")) . ' ...';
答案 3 :(得分:0)
在您的主页上,查询您的博客文章:
$sql = "SELECT id, title, blog_timestamp, LEFT(blog_contents, 50) AS txt
FROM php_blog ORDER BY timestamp DESC LIMIT 5";
然后,在处理结果时,修剪到最近的单词并添加链接。