2

例子..

HTML:

<input type="hidden" value="">

PHP:

<input type="hidden" value="<?php echo $value;?>">

jQuery :

$("input:hidden").val(text);

如果text(JS 变量)是自由文本,则允许所有 html 特殊字符(如单引号/双引号)并保存到input:hidden(因此由 PHP 提交)

什么是正确的方法?

我可以用吗

echo htmlentities($value);... 在 PHP 中

或替换 jQuery 中的引号,例如.val(text.replace(/'/g,"’"))

要不然是啥 ?

PS:请考虑一下我何时将值设置为 input 以使用 jQuery 保存值。

4

2 回答 2

3

转换为htmlentities应该可以正常工作。

如果要删除所有 HTML 标签,也可以使用strip_tags :

注意:这不会阻止所有 XSS 攻击

于 2013-04-05T08:19:37.440 回答
1

如果要将 PHP 变量回显到某些 HTML 中,请使用:

<input type="hidden" value="<?php echo htmlspecialchars($value); ?>">

http://php.net/manual/en/function.htmlspecialchars.php

如果要将 PHP 变量回显到某些 JavaScript 中,请使用:

<?php echo json_encode($value); ?>

http://php.net/manual/en/function.json-encode.php

于 2013-04-05T08:18:02.323 回答