我有以下代码用于输出从我的数据库中检索到的一些文本:
<p><?php echo nl2br(bb_code($bodytext)); ?></p>
我想做的是添加一个“预览”,其中只显示前 250 个字符左右,然后用户可以单击一个链接来阅读整个内容。像这样的东西:
<p><?php echo nl2br(bb_code(substr($bodytext, 0, 250))); ?>...<br />
<a href="#">Continue reading</a></p>
这里显然有几个问题。
- bb 代码标签中的内容(例如 URL)被计为预览长度的一部分,因此
[url=http://www..example.com]link[/url]
当它应该被解释为 4 时将被解释为 39 个字符。 - 如果文本被不匹配的 bb 代码标签截断,它们将不会被解析。
我怎样才能做到这一点?