我正在开发一个简单的php-MySql网站,并为数据库中的每个条目(通过循环)显示以下字段的数据:
标题
组织
DetailedInfo
数据库中的“DetailedInfo”字段最多可容纳5000个字符。在网页上显示时,我只使用前250个字符。
问题如下。如果条目具有格式化标记(斜体/粗体),例如在字符240处,并且格式化标记未被第250个字符关闭,则问题开始。对于所有后续条目,Title,Organization和DetailedInfo随标签一起显示(因此所有后续文本都是斜体或粗体)。 我正在为Title,Organization和DetailedInfo使用CSS样式,但似乎CSS无法从数据中删除格式化标记。
任何帮助将不胜感激。 干杯, 添
答案 0 :(得分:1)
如果您只显示detailedInfo
字段的一小部分,我猜它格式化并不是那么重要。在显示格式标记之前,请使用strip_tags()
删除格式标记。
答案 1 :(得分:0)
CSS无法修复损坏的HTML。你需要将它剥离回纯文本并重新编码(或者只是将其删除)。
答案 2 :(得分:0)
我不会用CSS解决这个问题(我不认为这是可能的)。您输出的无效HTML会导致问题,尤其是当有人在IE 8或更早版本中查看该页面时。
它也可能比未封闭的标签更糟糕。如果摘录以</i
结尾怎么办?
我要么实现一些疯狂的逻辑来关闭250个字符摘录中的任何未关闭的HTML标记,要么从摘录中删除所有HTML标记。我猜测后者会更容易。