2014-11-04 159 views
0

我有我使用的是简单的SQL选择查询PHP网页上显示的MySQL表中的数据。它的工作正常,并从数据库的HTML格式正确显示数据。停止影响的HTML网页上的其他元素

但是,由于HTML从数据库回显,会影响网页上的其他HTML元素,我如何仍然使用HTML格式回显数据库数据,但是如何停止更改其他硬编码元素的样式?

+1

请显示/发布您的代码,以便我们可以检查并纠正它。 – 2014-11-04 13:18:49

+0

你只是想打印出来的HTML?使用框架?或者你想打印的HTML文本? – Gudgip 2014-11-04 13:22:48

+0

我想打印为文本 – user2710234 2014-11-04 13:28:09

回答

2

我们不知道这里的所有情况,但这是您应该尽量避免将html存储在数据库中的原因之一。你基本上有四个选项的位置:

  • 重构您的数据库逻辑,只存储数据并生成即时HTML。
  • 按照其中一条评论中的建议使用框架(不会删除现有样式,但会停止影响您可能在页面上显示的其他HTML)。
  • 使用某种HTML/DOM解析库并尝试删除所有样式相关的HTML属性。
  • 如果您只需要文本内容可以检查出http://php.net/manual/en/function.strip-tags.php
+0

+1重构 – Gudgip 2014-11-04 13:30:58

+0

+1我会一起使用第一个和第四个选项来创建一个强大的解决方案。 – Flosculus 2014-11-04 13:45:46

0

如果你要打印的HTML文本,你可以使用用htmlspecialchars:

htmlspecialchars('<strong>something</strong>') 

看到这个答案的详细信息:How to display HTML tags as plain text

+0

我不想显示HTML文本 - 我想显示正确的格式,但因为从数据库返回的数据具有HTML标签和CSS,它影响页面上的其他元素 – user2710234 2014-11-04 13:35:53

+0

在你的问题中举一个例子它会清除一些事情。因为您要求在评论中将html作为文本打印出来。 – Gudgip 2014-11-04 13:37:38

+0

因此被插入到数据库中的数据看起来像这样:http://pastebin.com/isRJy7MS-我想将它显示为HTML(按原样)但不影响同一页上的其他元素 – user2710234 2014-11-04 13:45:03