2

我正在开发一个简单的 php-MySql 网站,并为数据库中的每个条目提供以下字段的数据(通过循环):

  1. 标题

  2. 组织

  3. 详细信息

数据库中的“DetailedInfo”字段最多可容纳 5000 个字符。在网页上显示时,我只使用前 250 个字符。

问题如下。如果一个条目有一个格式标记(斜体/粗体)开始,比如在第 240 个字符处,并且格式标记没有被第 250 个字符关闭,那么问题就开始了。对于所有后续条目,标题、组织和详细信息与标记一起显示(因此所有后续文本都是斜体或粗体)。我正在为 Title、Organization 和DetailedInfo 使用 CSS 样式,但似乎 CSS 无法从数据中删除格式标记。

任何帮助将不胜感激。干杯,蒂姆

4

3 回答 3

1

如果您只显示该detailedInfo字段的一小部分,我猜格式化它并不是那么重要。用于strip_tags()在显示之前删除格式标记。

于 2013-07-18T20:46:57.473 回答
0

CSS 无法修复损坏的 HTML。您需要将其剥离回纯文本并重新编码(或将其省略)。

于 2013-07-18T20:47:22.193 回答
0

我不会用 CSS 来解决这个问题(而且我认为这是不可能的)。您正在输出无效的 HTML,这会导致问题,尤其是如果有人在 IE 8 或更早版本中查看过该页面。

它也可能比未封闭的标签更糟糕。如果摘录以 结尾</i怎么办?

我要么实现一些疯狂的逻辑来关闭 250 个字符的摘录中的任何未关闭的 HTML 标记,要么从摘录中删除所有 HTML 标记。我猜后者会更容易。

于 2013-07-18T20:48:06.167 回答