我的网站上有一个小的新闻搜索引擎,所有的文章都存储在MySQL上。这些新闻文章使用HTML格式:例如a href、b、u等…
当我搜索一篇文章时,我只显示前100个字符,就像在预览中一样。但是,有些文章在声明结束HTML标记之前就停止了。
这会在查看搜索结果时造成混乱,因为HTML格式不准确。
如何阻止HTML流出我的searchResultsdiv?
我应该创建iFrame吗?
李。
我建议将整篇文章插入到DOM中(动态提取,以免减缓页面加载时间),并使用CSS overflow
属性根据需要截断它。这也将允许你做一些事情,比如在悬停时显示(更)完整的预览。
截断是显示层关注的问题——从概念上讲,预览仅限于预览框的大小。因此,您不应该在模型层应用它。
大多数以其他方式实现这些预览的人都是通过手动编写的摘要来实现的,或者不允许使用任意HTML(BBCode很流行)。
另一种选择是在截断之前实际解析文章,并对其进行温和处理,以保持页面的格式良好。
是的,frame
理论上是一种选择。
如果我知道你有问题,因为你得到了100个字符的HTML标记,而不是100个字符?
我想在预览中去掉所有标签(a href等),比如:
<?php
$preview = '<h1>This is a title</h1><b>Hello</b> this is a result from search';
echo strip_tags($preview);
?>
结果将只是干净的文本,没有html。
这是一个标题你好,这是搜索的结果
参考:http://php.net/manual/en/function.strip-tags.php