『壹』 php大神路過留句代碼,謝謝了. 循環查找替換字元串。
$string="第N個XXXXXX第N個XXXXXX第N個XXXXXX第N個XXXXXX第N個XXXXXX第N個XXXXXX第N個XXXXXX第N個XXXXXX第N個XXXXXX第N個XXXXXX";
$search_str_number=preg_match_all("/第N個/",$string);//搜索有幾個
$GLOBALS['number']=1;
//替換函數
$result=preg_replace_callback("/第N個/",function(){
return"第".$GLOBALS['number']++."個";
},$string);
『貳』 php 如何將一串字元插入到另一串字元串的指定位置
以下是一個參考函數,
參數$str為,原始字元串,例如123456。
參數$i為,要插入的位置。
參數$substr為,要插入的字元串,例如hello。
返回值為最後結果,例如12345hello6
functionstr_insert($str,$i,$substr)
{
for($j=0;$j<$i;$j++){
$startstr.=$str[$j];
}
for($j=$i;$j<strlen($str);$j++){
$laststr.=$str[$j];
}
$str=($startstr.$substr.$laststr);
return$str;
}
『叄』 [php]如何在PHP中截取中文字串無亂碼
一年前寫的一個函數。用法與substr一樣,支持中文。您也可以加以改進。
//截取字元串含數,對系統函數的改進,不會將中文變亂。
function mysubstr ($str,$start,$len=0,$cutchar="…") {
$str=str_replace("",' ',$str);
$str=str_replace("“",'「',$str);
$str=str_replace("”",'」',$str);
$str=str_replace("—",'—',$str);
$str=str_replace(""",'"',$str);
$str=str_replace(''',"'",$str);
$str=str_replace("<",'<',$str);
$str=str_replace(">",'>',$str);
$str=str_replace("&",'&',$str);
$str=preg_replace("/[\s]+/"," ",$str);
$tolen=strlen($str);
if(!($start==0 && $len>=$tolen)){
//為方便操作,先將起始值和長度值轉換為正數
if($start<0)$start=$tolen+$start;if($start<0)$start=0;if($start>$tolen)return "";
if($len<=0)$len=($tolen+$len)-$start;if($len<1)return "";
if($len>$tolen)$len=$tolen;
for($i=0;$i<$start;$i++){
if(ord(substr($str,$i,1))>127){$i++;}
}
$start=$i; //起始位置計算完成
for($k=0;$k<$len;$k++,$i++){
if(ord(substr($str,$i,1))>127){$i++;$k++;}
}
$len=$k; //長度計算完成
$str=substr($str,$start,$len);
if($start>0){$str=$cutchar.$str;}
if($start+$len<$tolen){$str.=$cutchar;}
}
$str=str_replace("&",'&',$str);
$str=str_replace('"','"',$str);
$str=str_replace("'",''',$str);
$str=str_replace("<",'<',$str);
$str=str_replace(">",'>',$str);
return $str;
}
『肆』 PHP中str_replace(substr($cs,0,1),strtoupper(substr($cs,0,1)),$cs)是什麼意思
你的 $cs 應該是一個很長的字元串吧
先看最外面的 $str_replace(),字元串替換,它裡面有三個參數,第一個是你想將哪個字元串替換掉,第二個是替換成什麼,第三個是執行替換的數組或者字元串,簡單點就是只在$cs范圍里替換
再看第一個參數,substr($cs,0,1),截取$cs下標從0到1的字元
第二個參數,先執行substr($cs,0,1),將截取到的字元串再轉化為大寫
第三個就$cs了
總的來說,你得先有值才能進行替換操作(str_replace),就像數學算數一樣,大括弧最後才執行,先執行最裡面的
『伍』 thinkphp從資料庫獲取的電話號碼,我要中間四個數字用星號表示怎麼做
這里需要用到一個php的函數:substr_replace()函數把字元串的一部分替換為另一個字元串。
這個函數的用法如下:substr_replace(string,replacement,start,length)
參數:
string要被檢查提取內容的字元串
replacement替換後的字元串
start截取的開始位置(以0開始)
length截取的長度
直接上代碼:(假如資料庫中的電話號碼的欄位名為phone)
$model=D('User);
$dataList=$model->select();//請加上你自己需要的條件
if($dataList)
{
foreach($dataListas$key=>$value)
{
$dataList[$key]['phone']=substr_replace($value['phone'],'****',3,4);
}
}
var_mp($dataList);
輸出如下:
array(size=2)
0=>
array(size=1)
'phone'=>string'135****8956'(length=11)
1=>
array(size=1)
'phone'=>string'159****7845'(length=11)
『陸』 php的substr_replace()和str_replace()有什麼不同啊,都是吧字元串一部分替換'
區別在於:
1.substr_replace():把字元串的一部分替換為另一個字元串.
str_replace():使用一個字元串替換字元串中的另一些字元
substr_replace()用於把字元串的一部分替換為另一個字元串,返回混合類型。
語法:
mixsubstr_replace(mixedstring,stringreplacement,intstart[,intlength])
例如:
<?php
echo str_replace("world","earth","Hello world!"); //輸出 Hello earth!
//替換多個,且第二個參數為空字元
echo str_replace("o","","Hello world!"); //輸出 Hell wrld!
//使用數組
$arr = array("e", "o");
$arr2 = array("x", "y");
echo str_replace($arr, $arr2, "Hello World of PHP", $i); //輸出 Hxlly Wyrld yf PHP
echo $i; //輸出4
?>
注意:1.該函數與 substr_replace() 不同之處是滿足條件的都進行替換
2.該函數對大小寫敏感。如需進行大小寫不敏感的查找替換,請使用 str_ireplace()
『柒』 php如何去除最後一個匹配字元
第一種,直接使用strrpos,substr實現
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$str="hello,how are you!";//要處理的字元串
$lastchar="o";//最後一個字元
$pos=strrpos($str,$lastchar);//確定最後一個字元的位置
$str=substr($str,0,$pos).substr($str,$pos+strlen($lastchar));//截取並合並字元串
echo $str;
?>
第二種,使用explode,將匹配的字元作為分隔符,分隔成數組,之後重新合並數組,過濾掉匹配的最後一個字元即可。
代碼如下:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$str="hello,how are you!";
$lastchar="o";
$ary=explode($lastchar,$str);
for($i=0;$i<count($ary);$i++)
{
if($i<(count($ary)-2))
{
$res.=$ary[$i].$lastchar;
}
else
{
$res.=$ary[$i];
}
}
echo "<div>最終結果:".$res."</div>";
?>
希望對你有幫助。