You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP将含HTML的MySQL查询结果输出到input value属性的问题咨询

问题原因

你当前的写法没有对$row['content']中的HTML特殊字符做转义,内容里的双引号、尖括号、&符号会被浏览器直接解析为HTML代码,提前闭合input的value属性甚至input标签本身,最终导致内容混入外层页面结构。

解决方法

使用PHP内置的htmlspecialchars()函数对输出内容做HTML实体转义,转义后的特殊字符会被浏览器识别为纯文本,不会触发HTML解析逻辑,自然就不会突破input输入框的限制。
修正后的代码如下:

echo '<input value="'.htmlspecialchars($row['content'], ENT_QUOTES).'"></input>';

参数说明

  • 第二个参数加ENT_QUOTES是为了同时转义内容中的单引号和双引号,彻底避免内容里的引号提前闭合value属性。
  • 如果你的站点使用非UTF-8编码,可以传入第三个参数指定对应编码,比如htmlspecialchars($row['content'], ENT_QUOTES, 'GBK')适配GBK编码场景。

补充说明

转义操作仅作用于前端输出环节,不会修改你数据库中存储的原始内容;后续用户从input提交该内容时,你接收到的依然是未转义的原始HTML内容,不需要额外做解码处理。

内容的提问来源于stack exchange,提问作者Stan Daily

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 21:24:02