【发布时间】:2023-03-13 18:43:01
【问题描述】:
我将 HTML 和文本数据以其原始形式存储在我的数据库表中 - 但是我在让它正确输出时遇到了一个小问题。以下是按原样存储在表中的一些示例数据:
<p>Professional Freelance PHP & MySQL developer based in Manchester.
<br />Providing an unbeatable service at a competitive price.</p>
要输出这些数据,我会这样做:
echo $row['details'];
这会正确输出数据,但是当我进行 W3C 验证器检查时,它会显示:
character "&" is the first character of a delimiter but occurred as data
所以我尝试使用 htmlemtities 和 htmlspecialchars 但这只会导致 HMTL 标签在页面上输出。
这样做的正确方法是什么?
【问题讨论】:
-
我不知道这是否是一个好建议,但如果我是你,我会忽略它
-
确保验证器使用正确的规则/文档类型 - XML/XHTML 不是 HTML,并且在 HTML 的上下文中未转义的 & 是 有效。然而,
&amp;将“永远是安全的”并且应该是首选。
标签: php mysql html-encode