PHP / jQuery用所有特殊字符值提交/保存输入

时间:2013-04-05 08:15:54

标签: php javascript jquery character

实施例..

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:请考虑我何时设置输入值以使用jQuery保存值。

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分: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