定義和用法
str_replace() 函式使用乙個字串替換字串中的另一些字元。
語法 str_replace(find,replace,string,count)
引數 描述
find 必需。規定要查詢的值。
replace 必需。規定替換 find 中的值的值。
str程式設計客棧ing 必需。規定被搜尋的字串。
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] => !
)漏洞相關函式:
程式設計客棧.jb51.net/img/offer/29/24/70/20/29247020-2"/>';
$data = str_replace($arr1,$arr2,$data);
var_dump($data);
?>
替換後的結果是:
string(169) "
&ldbkjbucet;img src="http://localhost/root/ups/af48056fc4.jpg-2"/>"str_replace 函式的宣告大概是這樣: str_replace($search, $replace, $input[,&$count]), 比如在對乙個字串進行替換操作, $input 就是源字串(稱為資料來源). 這很不合理,因為它把資料來源放在第3位, 而 str_pos, strtok, str_repeat 等等函式都是把資料來源放在第1位.也就是說str_replace並沒有替換掉陣列中相對應的字串,而是把陣列中的第乙個替換,然後把相同的字串後多餘的合併。
解決辦法:
function strrplace($arr1,$arr2,$data) }
return $data;
}function str_replace_once($needle, $replace, $data) //替換第一次
return substr_replace($data, $replace, $pos, strlen($needle));
}
本文標題: php str_replace的替換漏洞
本文位址: /wangluo/php/41309.html
php str replace 替換 計算
formula 物料總額 1000 生產費用 銷售費用 管理費用 利潤金額 成本係數 地區係數 計算公式 數量 total 10 總 production cost 1 生產費用 sales cost 2 銷售費用 management cost 3 管理費用 profit 4 利潤金額 costf...
PHP str replace 只替換一次
在日誌裡頭看到這樣乙個查詢詞,php str replace 一次 使用者可能是在找如何利用php的str replace只替換目標字串的內容一次,而不是全部替換。這是個比較小但是有點意思的問題,正好之前也做過類似的處理,當時我是直接利用preg replace實現的。mixed preg repl...
Windows PowerShell批量替換檔名
q 假如資料夾有批量相似的檔名,如果檔名不符合需求了,要怎麼改呢,文件可以 ctrl h 一鍵替換字元,系統檔名可不支援 ctrl h 一鍵替換字元,動手能力強的已經乙個個手動在改了 滑稽,你是原始人嘛 如圖 可以通過windows自帶的powershell寫指令碼來實現批量修改檔名 下面來實現一下...