我有一个HTML表单值作为PHP函数:value='".$item->get_title()."'
(这是在echo
语句中因此单引号。)问题是,如果返回的标题包含任何引号,它会打破价值功能。
示例:value="Kim Dotcom lawyer blasts US government" s "pattern of delay "e;'>
你可以看到它在government
处中断。之后应该有一个撇号。
有没有人知道修复此问题?
修复: value='".htmlspecialchars($item->get_title(), ENT_QUOTES)."'
答案 0 :(得分:3)
使用htmlspecialchars来转义不打算以HTML格式呈现的输出:
value="'.htmlspecialchars($item->get_title()).'"
默认情况下,htmlspecialchars仅转义双引号,而不是单引号。如果您想要同时转义(并保持将HTML值放在单引号中的做法),请将ENT_QUOTES
作为第二个参数添加到htmlspecialchars
。
答案 1 :(得分:1)
尝试使用htmlspecialchars
htmlspecialchars($item->get_title());
答案 2 :(得分:-1)
尝试:
value='".str_replace('"', '', $item->get_title())."'