PHP serialize()用于输入表单元素?

时间:2013-03-25 01:14:58

标签: php forms serialization hidden

对于那些了解它的人来说,快速简单的问题 -

我正在使用序列化将数组放入隐藏的表单元素中 - 但是引号(可能还有其他字符?)会搞乱html。

html中是否存在序列化数据传递的最佳实践?

现在是输出:

<input type="hidden" value="a:2:{s:8:"buyer_id";i:1;s:11:"buyer_email";s:27:"name@someaddress.com";}" name="custom" />

正在考虑做某种类型的转义字符功能,但也许有更专业的东西?

1 个答案:

答案 0 :(得分:1)

除非有更专业/更智能的方法,否则我将使用以下内容:

$paypal_vars = array(   
    'buyer_id' => $this->user->ID,
    'buyer_email' => $this->user->user_email,   
);

$paypal_vars = htmlspecialchars(serialize($paypal_vars));

$paypal_vars = array(   
    'buyer_id' => $this->user->ID,
    'buyer_email' => $this->user->user_email,   
);

$paypal_vars = htmlentities(serialize($paypal_vars));