2012-01-22 54 views
1

我传递一个JavaScript变量作为格式如下获取传递我的PHP形式:更好的方法来解析PHP端的字符串?

<form onsubmit='$("#crop_cords").val($.param(c).toString()); return true;' id="process_image_form" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"> 

crop_cords='x=50&y=50&x2=400&y2=400&w=350&h=350' 

是否有更好的方法来解析服务器端的crop_cords值或者我需要使用分割和/或爆炸?我希望找到一个更清洁的解决方案。结果应该如下所示:

x=50 
y=50 
x2=400 
y2=400 
w=350 
h=350 
+0

顺便说一句,你有输出,像之前编码'$ _ SERVER [“PHP_SELF”]':'< form action =“<?php echo htmlspecialchars($ _ SERVER ['PHP_SELF'],ENT_QUOTES);?>”...' – Christian

+0

感谢那 – Paul

回答

7

您正在寻找parse_str

$crop_cords='x=50&y=50&x2=400&y2=400&w=350&h=350'; 
parse_str($crop_cords, $parsed); 

print_r($parsed); 

See it in action

+0

辉煌......以前从未使用过。很棒!谢谢 – Paul

+1

我会在URL中使用多个变量(或者建议使用ngen的输入)。但除此之外,'parse_str'是要走的路。 **通过第二个参数非常重要,否则您的网站可能会受到几种安全问题的影响。** – Christian

0

您可以使用parse_str解析字符串就好像它是查询字符串:

$params = array(); 
parse_str($_POST['crop_cords'], $params); 
相关问题