2

我有一个 HTML 表单值作为 PHP 函数:(value='".$item->get_title()."'这是在一个echo语句中,因此是单引号。)问题是,如果返回的标题包含任何引号,它会破坏值函数。

例子:value="Kim Dotcom lawyer blasts US government" s "pattern of delay &quote;'>

如您所见,它在government. 后面应该有一个撇号。

有谁知道解决这个问题?

修复: value='".htmlspecialchars($item->get_title(), ENT_QUOTES)."'

4

3 回答 3

4

使用htmlspecialchars转义不打算呈现为 HTML 的输出:

value="'.htmlspecialchars($item->get_title(), ENT_QUOTES).'"

默认情况下,htmlspecialchars 只转义双引号,而不是单引号。如果您想同时转义(并因此保持将 HTML 值放在单引号中的做法),请将ENT_QUOTES其作为第二个参数添加到htmlspecialchars.

于 2012-05-25T21:32:53.483 回答
2

尝试使用htmlspecialchars

htmlspecialchars($item->get_title());
于 2012-05-25T21:30:49.037 回答
-1

尝试:

value='".str_replace('"', '', $item->get_title())."'
于 2012-05-25T21:29:39.090 回答