微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

包含单引号和双引号的回显字符串以输入值

如何解决包含单引号和双引号的回显字符串以输入值

我正在从 XML 中提取一个字符串,并希望将其作为输入文本框的值插入。我在处理这个同时包含单引号和双引号的字符串时遇到了问题:

We will have a "New Year's Eve countdown"

这是我用来输出它的代码。我试过使用 htmlspecialchars 但它并没有阻止 html 代码破坏,因为字符串中混合了引号。

echo "<p>Info <input type='text' name='info' value='".htmlspecialchars($result->info)."' size='20' /></p>";

如何解决此问题,以便在文本框中正确显示字符串的值?

解决方法

您需要将 ENT_QUOTES 标志用于 htmlspecialchars 以使其将双 单引号转换为其等效的 html 实体:

echo "<p>Info <input type='text' name='info' value='".htmlspecialchars($result->info,ENT_QUOTES)."' size='20' /></p>";

这将生成以下 HTML:

<p>Info <input type='text' name='info' value='We will have a &quot;New Year&#039;s Eve countdown&quot;' size='20' /></p>

从这个片段中可以看出,在文本输入中显示所需的字符串:

<p>Info <input type='text' name='info' value='We will have a &quot;New Year&#039;s Eve countdown&quot;' size='50' /></p>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。