您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何在php中利用parse_str將查詢的字符串解析到變量中,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
一、函數原型
void parse_str ( string str [, array &arr] )
二、版本兼容
PHP 3, PHP 4, PHP 5
三、函數基礎用法與實例
1. 解析字符串為變量
<?php parse_str("var1=jb51&var2=parse_str"); echo $var1.$var2; ?>
2. 解析字符串并將變量存儲到數組中
<?php parse_str("var1=jb51&var2=parse_str",$array); print_r($array); ?>
輸出:
Array ( [var1] => jb51 [var2] => parse_str )
說明:這種將變量存儲到數組中在PHP 4.0.3 才增加
3. 解析的字符串有空格
<?php parse_str("v ar1=jb51&var 2=parse_str",$array); print_r($array); ?>
輸出:
Array ( [v_ar1] => jb51 [var_2] => parse_str )
說明:直接將空格轉換為下劃線_
四、注意事項
1. 如果未設置 array 參數,由該函數設置的變量將覆蓋已由同名變量。
2. php.ini 中的 magic_quotes_gpc 設置影響該函數的輸出。如果已啟用,那么在 parse_str() 解析之前,變量會被 addslashes() 轉換。
3. parse_str() 函數在處理參數時存在漏洞,攻擊者可以利用這個漏洞啟用register_globals,從而進一步利用其他PHP腳本中的漏洞。如果僅以一個參數調用 parse_str()的話,該函數會認為該參數是通過URL傳送的請求字符串那樣解析所提供的字符串,但外部攻擊者可以在調用 parse_str()期間發送很多請求變量來觸發memory_limit請求終止。如果在調用parse_str()期間執行了請求關閉的話,則在相關webserver進程的其余生命周期期間register_globals標簽會一直打開。
關于如何在php中利用parse_str將查詢的字符串解析到變量中就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。