這篇文章主要介紹了php中str_replace替換漏洞的分析,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
定義和用法
str_replace() 函數使用一個字串來取代字串中的另一些字元。
語法
str_replace(find,replace,string,count)
參數 說明
find 必要。規定要找的值。
replace 必需。規定替換 find 中的值的值。
string 必需。規定被搜尋的字串。
count 可選。一個變量,對替換數進行計數。
提示與註解
註解:此函數對大小寫敏感。請使用 str_ireplace() 執行對大小寫不敏感的搜尋。
註解:此函數是二進位安全的。
範例1
<?php echo str_replace("world","John","Hello world!"); ?>
輸出:
Hello John!
範例2
在本例中,我們將示範帶有陣列和count 變數的str_replace() 函數:
<?php $arr = array("blue","red","green","yellow"); print_r(str_replace("red","pink",$arr,$i)); echo "Replacements: $i"; ?>
輸出:
Array ( [0] => blue [1] => pink [2] => green [3] => yellow ) Replacements: 1
##範例 3
#
<?php $find = array("Hello","world"); $replace = array("B"); $arr = array("Hello","world","!"); print_r(str_replace($find,$replace,$arr)); ?>
Array ( [0] => B [1] => [2] => ! )
<?php $arr1 = Array( 'http://img.jb51.net/img/offer/29/24/70/20/29247020', 'http://img.jb51.net/img/offer/29/24/70/20/29247020-1', 'http://img.jb51.net/img/offer/29/24/70/20/29247020-2' ); $arr2 = Array( 'http://localhost/root/ups/af48056fc4.jpg', 'http://localhost/root/ups/cf33240aa3.jpg', 'http://localhost/root/ups/c30e40419b.jpg' ); $data = ' <img src="http://img.jb51.net/img/offer/29/24/70/20/29247020"/> <img src="http://img.jb51.net/img/offer/29/24/70/20/29247020-1"/> <img src="http://img.jb51.net/img/offer/29/24/70/20/29247020-2"/>'; $data = str_replace($arr1,$arr2,$data); var_dump($data); ?>
function strrplace($arr1,$arr2,$data){ if(is_array($arr1)) { foreach($arr1 as $key => $value) { $data = str_replace_once($value, $arr2[$key], $data); } } return $data; } function str_replace_once($needle, $replace, $data) //替换第一次 { $pos = strpos($data, $needle); if ($pos === false) { return $data; } return substr_replace($data, $replace, $pos, strlen($needle)); }
PHP中filter_var() 函數與Filter 函數的分析
#
以上是關於php中str_replace替換漏洞的分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!