从数据库中获取一段 html 代码并使用 php 正确显示它,而不会弄乱页面
因此,我正在为网站制作一个简单的后端,可以快速编辑给定页面的内容。页面内容保存在 MySQL 数据库中,并且可能包含 HTML 标签。
在编辑页面上,我希望管理员能够在选择编辑选项之前查看页面上编写的 HTML。所以,我想显示 HTML 标签和所有内容。如何转义大文本块中的标签?
浏览周围我了解到。但它似乎对我想做的事情不起作用。
例如,如果我有:
$content = "<h1>test</h1>";
echo "<![CDATA[".$content."]]>";
我最终会
test]]>
在页面上写下。
So I'm making a simple backend to a website where contents of given pages can be quickly edited. Page contents are saved in a MySQL database and have the possibility of containing HTML tags.
On the edit page, I want the administrator to be able to view the HTML written on the page before choosing the option to edit it. So, I want to display HTML tags and all. How can I escape the tags in a big block of text?
Browsing around I learned about . But it doesn't seem to work for what I'm trying to do.
For example, if I have:
$content = "<h1>test</h1>";
echo "<![CDATA[".$content."]]>";
I simply end up with
test]]>
written on the page.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果要查看页面上的 Html 内容,请转义,不要使用
htmlentities($content)
因为特殊字符(如许多 UTF-8 字符)将无法正确显示,因为 Html 实体并不总是被正确解释。如果
$content
是 UTF-8 则:...
htmlspecialchars() 是您在显示 Html 时所需的全部内容,以正确转义 &、"、'、< 和 > 等特殊字符。就这样。
确保您匹配的编码
$content
。我强烈建议在 Html 文档中设置编码:
其中
charset=ENCODING_OF_$content
。If you want to view the Html content on the page, escaped, don't use
htmlentities($content)
because special characters, like many UTF-8 characters, will not be displayed properly because the Html entities aren't always interpretted correctly.If
$content
is UTF-8 then:...
htmlspecialchars() is all you need when displaying Html to properly escape the special characters like &, ", ', <, and >. That's it.
Make sure you match the encoding of
$content
. I highly recommend using UTF-8 for everything.To set the encoding in your Html Document:
Where
charset=ENCODING_OF_$content
.您尝试过 htmlentities 吗?
像这样:
Have you tried htmlentities?
Like this: