我在这里有点困惑。我正在创建一个weblog,我想限制一篇文章的字符数量,所以当读者点击“阅读更多”或“.”时,他们能够阅读整篇文章。我在寻找并试图理解密码,但我很困惑该把密码放在哪里。我找到了这个密码
// strip tags to avoid breaking any html
$string = strip_tags($string);
if (strlen($string) > 500) {
// truncate string
$stringCut = substr($string, 0, 500);
// make sure it ends in a word so assassinate doesn't become ass...
$string = substr($stringCut, 0, strrpos($stringCut, ' ')).'... <a href="/this/story">Read More</a>';
}
echo $string;来自limit text length in php and provide 'Read more' link。这是我的密码
$articlesql = "SELECT articles.*, categories.category_name, admin.admin_name FROM articles, categories, admin WHERE articles.article_category_id=categories.category_id AND articles.article_admin_id=admin.admin_id";
$articleresult = mysql_query($articlesql);
while($articlerow=mysql_fetch_assoc($articleresult))
echo"
<li>
<span></span>
<div>
<h4><a href='article-single.php?id=".$articlerow['article_id']."' title='view details'>".$articlerow['article_title']."</a></h4>
<span>
Posted in <a href = '#'>".$articlerow['category_name']."</a> by <a href='#'>".$articlerow['admin_name']."</a> on <a href='#'>".$articlerow['article_date']."</a>
</span>
</div>
<a href='article-single.php?id=".$articlerow['article_id']."' title='view details'><img src='images/blog-post-1.jpg' alt=''></a>
<p>".$articlerow['article_content']."</p>
</li>
";我真的需要有人帮我。谢谢!
发布于 2014-01-03 06:25:11
试一试
<?php
$articlesql = "SELECT articles.*, categories.category_name, admin.admin_name FROM articles, categories,
admin WHERE articles.article_category_id=categories.category_id AND articles.article_admin_id=admin.admin_id";
$articleresult = mysql_query($articlesql);
while($articlerow=mysql_fetch_assoc($articleresult)){
$string = strip_tags($articlerow['article_content']);
if (strlen($string) > 500) {
// truncate string
$stringCut = substr($string, 0, 500);
// make sure it ends in a word so assassinate doesn't become ass...
$string = substr($stringCut, 0, strrpos($stringCut, ' '))."... <a href='article-single.php?id=".$articlerow['article_id']."' title='view details'>Read More</a>";
}
echo "
<li>
<span></span>
<div>
<h4><a href='article-single.php?id=".$articlerow['article_id']."' title='view details'>".$articlerow['article_title']."</a></h4>
<span>
Posted in <a href = '#'>".$articlerow['category_name']."</a> by <a href='#'>".$articlerow['admin_name']."</a> on <a href='#'>".$articlerow['article_date']."</a>
</span>
</div>
<a href='article-single.php?id=".$articlerow['article_id']."' title='view details'><img src='images/blog-post-1.jpg' alt=''></a>
<p>".$string."</p>
</li>
";
}发布于 2014-01-03 06:29:41
您需要的只是PHP的strrpos和substr函数。
编写以下查询:
$excerpt_query =mysql_fetch_array(mysql_query(“从文章中选择左(article_content,30)为摘录”)或模(mysql_error());
现在,您将在输出的“节选”列中获得前30个字符。您可以很高兴地使用每一篇文章id来玩它。
$excerpt = $excerpt_query['excerpt'];
$spaceIndex = strrpos($excerpt, ' '); //Finds the last space from the excerpt value.现在echo substr($excerpt, 0, $spaceIndex); // this will echo the correct string as the excerpt.
这应该是实际阅读更多的链接:
echo substr($excerpt, 0, $spaceIndex) . '<a href="single.php?id=1">Read More...</a>';如果你有任何疑问的话就过来。
发布于 2014-01-03 06:40:00
我几乎不知道您的代码中发生了什么,但是您只需要限制查询中的文本,例如,这将得到100个第一个单词
LEFT(article, 100) AS first100当你想要显示文章时(在一段时间循环内),你应该把‘.’一声不响
$extract = $articlerow['first100'];
$lastSpace = strrpos($extract, ' ');
echo substr($extract, 0, $lastSpace) . '... ';https://stackoverflow.com/questions/20897644
复制相似问题