我正在使用NicEdit作为我的网站的富文本编辑器。在我编辑文本后,它被存储在我的数据库中。
假设我编辑了一些文本,它像这样存储在内容字段中:
<div> This is just some sample <b>text that is displayed </b> to help <a href="#"> My example </a> </div>
现在,当我想在主页中显示部分内容并添加"阅读更多"链接时,用户可以访问实际页面。
<?php
echo substr($row['content'],0,50);
if(strlen($row['content']))>50 ) {
echo "<a href='"#'"> read more </a>";
}
?>
所以上面的代码会提取说:
<div> This is just some sample <b>text
从表的内容字段。当它显示在页面上时,我们可以看到<div>
和<b>
都没有关闭。因此,页面中的其余内容完全混乱不堪。
什么是解决方案?
echo substr(strip_tags($row['content']),0,50)
然后当他们"获得更多"时,不要运行strip_tags()
已更新。。
最简单的方法——只需使用strip_tags()
函数将摘要文本显示为«纯文本»。
看看php的strip_tags()函数:http://php.net/manual/de/function.strip-tags.php
我建议使用strip_tags
,因为没有简单的方法可以自动关闭标签。然而,您可以看看这个问题:如何关闭未关闭的HTML标记?