PHP中的引号回音破坏HTML值
我有一个HTML表单值作为PHP函数:“PHP中的引号回音破坏HTML值,php,mysql,html,Php,Mysql,Html,我有一个HTML表单值作为PHP函数:“value=”“$item->get_title()”(这是在一个echo语句中,因此是单引号)。问题是,如果返回的标题包含任何引号,它会中断value函数 示例:value=“Kim Dotcom律师抨击美国政府的“拖延模式”> 正如你所看到的,它在政府处断裂。应该在这之后有一个撇号 有人知道这个问题的解决方法吗 修复:value=”.htmlspecialchars($item->get\u title(),ENT\u QUOTES)。“尝试: val
value=”“$item->get_title()”
(这是在一个echo
语句中,因此是单引号)。问题是,如果返回的标题包含任何引号,它会中断value函数
示例:value=“Kim Dotcom律师抨击美国政府的“拖延模式”>
正如你所看到的,它在政府
处断裂。应该在这之后有一个撇号
有人知道这个问题的解决方法吗
修复:value=”.htmlspecialchars($item->get\u title(),ENT\u QUOTES)。“
尝试:
value='".str_replace('"', '', $item->get_title())."'
试一试
用于转义不打算呈现为HTML的输出:
value="'.htmlspecialchars($item->get_title(), ENT_QUOTES).'"
默认情况下,htmlspecialchars只转义双引号,而不是单引号。如果您想同时转义两个引号(并保持将HTML值放在单引号中的做法),请添加
ENT\u quotes
,作为htmlspecialchars
的第二个参数。错误-addslashes不会转义为HTML;这是SQL转义的老方法(可能还有其他一些东西,比如JSON;我现在想不出任何东西是最好的报价工具)sorta会起作用,但它会更改数据,这可能仍然存在问题。这似乎不起作用,它仍然与上图中所示相同,如果不交换“‘到’”,这根本不起作用。在我交换了它们并且提要正在加载后,它仍然无法正确显示:(编辑:添加了ENT_引号,效果很好!非常感谢您将在上面添加编辑。)。
value="'.htmlspecialchars($item->get_title(), ENT_QUOTES).'"