語法 str_replace(find,replace,string,count)

參數(shù) 描述 find 必需。規(guī)定要查找的值。 replace 必需。規(guī)定替換 find 中的值的值。 stri " /> 青草娱乐极品免费视频,国产高清一区二区三区,日日a.v拍夜夜添久久免费

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

php str_replace的替換漏洞

定義和用法
str_replace() 函數(shù)使用一個字符串替換字符串中的另一些字符。

語法
str_replace(find,replace,string,count)

參數(shù) 描述
find 必需。規(guī)定要查找的值。
replace 必需。規(guī)定替換 find 中的值的值。
string 必需。規(guī)定被搜索的字符串。
count 可選。一個變量,對替換數(shù)進行計數(shù)。

提示和注釋
注釋:該函數(shù)對大小寫敏感。請使用 str_ireplace() 執(zhí)行對大小寫不敏感的搜索。

注釋:該函數(shù)是二進制安全的。

例子 1
復制代碼 代碼如下:
<?php
echo str_replace("world","John","Hello world!");
?>

輸出:

Hello John!

例子 2
在本例中,我們將演示帶有數(shù)組和 count 變量的 str_replace() 函數(shù):
復制代碼 代碼如下:
<?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] => !
)


漏洞相關(guān)函數(shù):

<?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);
?>

替換后的結(jié)果是:


string(169) "<img src="http://localhost/root/ups/af48056fc4.jpg"/><img src="http://localhost/root/ups/af48056fc4.jpg-1"/><img src="http://localhost/root/ups/af48056fc4.jpg-2"/>"str_replace 函數(shù)的聲明大概是這樣: str_replace($search, $replace, $input[,&$count]), 比如在對一個字符串進行替換操作, $input 就是源字符串(稱為數(shù)據(jù)源). 這很不合理,因為它把數(shù)據(jù)源放在第3位, 而 str_pos, strtok, str_repeat 等等函數(shù)都是把數(shù)據(jù)源放在第1位.也就是說str_replace并沒有替換掉數(shù)組中相對應的字符串,而是把數(shù)組中的第一個替換,然后把相同的字符串后多余的合并。

解決辦法:
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技術(shù)php str_replace的替換漏洞,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 桃花阁成人网在线观看 | 精品国产国产综合精品 | 日产精品一区二区 | 日韩一区二区三区视频 | 韩国一级毛片视频免费观看 | 色哟哟www视频在线观看高清 | 国产在线一区精品对白麻豆 | 欧美jizzdh精品巨大 | 久久综合九色综合97伊人麻豆 | 精品一区二区三区免费观看 | 97精品国产91久久久久久久 | 中文字幕在线精品 | 国产美女精品三级在线观看 | 91视频最新地址 | 伊人久久大香线蕉综合高清 | 黄色在线免费观看网址 | 精品久久久久久中文 | 久久香蕉精品 | 国内自拍网址 | 福利在线一区二区 | 午夜毛片网站 | 伊人久久精品成人网 | 国内精品视频在线播放一区 | 欧美99视频 | 国产精品嫩草影院免费看 | 五月婷婷六月丁香在线 | 加勒比一到三区 | 久久久久久久久一级毛片 | 亚洲视频一区二区在线观看 | 久久精品国产无限资源 | 国产精品白浆在线播放 | 婷婷激情五月综合 | 亚洲一区二区在线成人 | 麻豆播放| 国产成人免费午夜在线观看 | 国产精品亚洲一区二区三区 | 国产黄色片在线播放 | 欧美日皮视频 | 国产精品亚洲高清一区二区 | 久久久久久久久毛片精品 | www成人国产在线观看网站 |