我的网站上有一个小型搜索引擎用于我的新闻文章,都存储在MySQL上。 这些新闻文章正在使用HTML格式:例如a href,b,u等....
当我搜索一篇文章时,我只显示了前100个字符,就像在预览中一样。 但是,有些文章在声明结束HTML标记之前停止。
由于HTML格式不准确,因此在查看搜索结果时会造成混乱。
如何阻止HTML流出我的searchResults div?
我应该创建一个iFrame吗?
利。
答案 0 :(得分:1)
我建议将整篇文章插入到DOM中(动态获取以便不减慢页面加载时间),并使用CSS overflow
属性截断它。这也可以让你做一些事情,比如在悬停时显示(更多)完整的预览。
截断是显示层的一个问题 - 概念上,预览仅限于预览框的大小。所以你不应该在模型层应用它。
大多数以其他方式实现这些预览的人都是通过手动编写的摘要来做的,或者不允许任意HTML(BBCode很受欢迎)。
另一种选择是在截断之前实际解析文章,并对其进行调整以保持页面的良好构造。
是的,frame
理论上是一种选择。
答案 1 :(得分:0)
如果我了解您遇到问题,因为预测会得到100个字符的HTML标签而不是100个字符?
我想预览剥离所有标签(一个href等),如下所示:
<?php
$preview = '<h1>This is a title</h1><b>Hello</b> this is a result from search';
echo strip_tags($preview);
?>
结果只是干净的文字,没有html。
这是一个标题你好这是搜索结果