2012-01-22 86 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); 
相關問題