php字元串替換最後一個字元
『壹』 php 隨機 替換字元串問題
這個用
正則表達式
來解決就ok啦,PHP中有有關正則表達式的函數,其中有一個專門用來查找替換的函數:
preg_replace
($regpatern,$replace,$str[,$limit])
功能描述:在字元串
$str中查找匹配類型$repatern,匹配成功用$replace替換掉,最後一個參數是可選的,限制匹配多少次默認為-1,表示替換所有匹配成功的子字元串;
參數:$regpatern為正則表達式,$repalce為要替換成的字元串,$str查找的范圍,$limit為替換的次數;
返回值
:替換後的字元串;
如:
?php
$regpatern='/a/';
$replace="b";
$str="aaadsfsfaaasdf";
echo
preg_replace($regpatern,$replace,$str,4);
?
運行結果為:bbbdsfsfbaasdf
『貳』 PHP字元替換 ----字元串的前面2個字元和最後一個字元不變,中間的換成***
這個還要封裝函數?就一行代碼而已。。。。
$idcard=substr_replace($idcard,"*****",8,5);
自己多試驗一下,就知道如何使用了。
從第8個後開始替換5個字元為*
『叄』 php去掉最後一個字元,php如何實現去掉某個字元串之後的內容Php
<?php
$str="abcdef";
$rest=substr($str,0,strlen($str)-1);//返回"abcde"
?>
可以用函數 substr(), 加上 strlen() 確定字元串的字元數,即可達到
『肆』 PHP str_replace()如何替換掉某個字元串中某個字元後綴其餘不變
function x($arr,$replaceStr,$replaceStr2,$noReplace){
foreach($arr as $k=>$v){
if($v > $noReplace){//$noReplace如果大於數組鍵名替換,例如為3,則數組前四個不替換
$arr[$v] = str_replace($replaceStr,$replaceStr2,$arr[$k]);
}
}
return $arr;
}
使用:
x([
'http://a.com/a.jpg',
'http://b.com/b.jpg',
'http://c.com/c.jpg'
],'.jpg','',0);
返回:
[
'http://a.com/a',
'http://b.com/b.jpg',
'http://c.com/c.jpg'
]
『伍』 php中怎麼去掉字元串最後一個字元
使用PHP字元串系列函數trim();
trim去掉兩端的空格,可以帶兩個參數,第一個參數是原字元串,第二個參數是需要消除的字元,默認為空格,如trim("#hello#","#") 就是去掉兩端的"#",如果要去掉某一側的話,可以使用ltrim()去掉左側的字元,rtrim()去掉右側的字元。
$str = "hello#";
echo rtrim($str,"#");
或者可以使用substr來直接進行截取
首先獲取字元串的長度,然後截取到長度-1的位置,如
$str = "hello";
echo substr($str,0,strlen($str)-1);
『陸』 php替換最後包含字元串組
$pos=strrpos($str,$cars); // 第二個參數 只能是字元, php5.0以前只能是單字元, 5.0以後可以是個字元串, 但不能是數組, 數組的話要 循環處理 每次處理一個 字元;
你要應用在什麼場景
『柒』 php替換最後包含字元串
如果是單一的 就是 只出現"-","——","-" 中的一種 可以用先判斷那種字元的方法 來確定explode函數用那個字元, 如果不是單一的而是混合的 就需要用循環來一一轉換, 最後把得到的幾個數組 在拼接起來。
『捌』 php如何替換中文字元串最後一個字,我要把句子中的 "啊、呀、哈"這些沒用的詞都換成"啊" ,怎麼實現最快
你問的是兩個問題:
1、替換中文字元串的最後一個字;(最後?)
2、替換中文字元串中的「啊,哈,呀...」為「啊」;
這兩個問題不能同時一次解決,比如字元串是「哈哈」結尾,替換最後一個字變成:哈啊?
我覺得你就是要解決問題2:
$pattern = array('啊','呀','哈');
$string = str_replace($pattern, '啊', string);
能看明白么?樓上的方法也可以,不過有些效率低,維護不方便;
$pattern以後可以從資料庫里讀,你就能更好弄了~~
至於問題1,建議再考慮考慮~
補充,關於中文字元串的編碼問題,我沒寫,就是iconv的問題,自己來吧!
『玖』 PHP 正則表達式如何替換行末指定字元而不替換行首與行末相同的字元
<?php
$pattern='/DVD$/';
$str="燦爛人生DVD";
$str=preg_replace($pattern,'',$str);
var_mp($str);die;
?>
$匹配末尾的字元
『拾』 php替換怎麼替換指定位置字元
functionreplace($str,$index,$s){
//參數定義:
//$str 原字元串
//$index要替換的位置(第一個"-"前面的位置為0,最後一個"-"後面的位置等於減號數量)
//$s 要替換的內容
$str=rtrim(rtrim($str,'html'),'.');
$arr=explode('-',$str,14); //如果是前面固定13個減號,可以加一個參數14
if($index>=count($arr)){
$arr[count($arr)-1]=$s;
}elseif($index<0){
$arr[0]=$s;
}else{
$arr[$index]=$s;
}
return(implode('-',$arr).'.html');
}
$string='21--------43-----哈啊.html';
$newStr=replace($string,0,'aaa'); //第1個減號前面的位置替換為aaa
echo$newStr.'<br>';
$newStr=replace($newStr,2,'bbb'); //第2個減號後面的位置替換為bbb
echo$newStr.'<br>';
$newStr=replace($newStr,8,'ccc'); //第8個減號後面的位置替換為ccc
echo$newStr;
注意:原字元串結尾部分不能連續兩個"html"或者連續兩個"."連著
如果原字元串在替換的時候不加".html"就沒有這個限制了,就像這樣
functionreplace($str,$index,$s){
//參數定義:
//$str 原字元串
//$index要替換的位置(第一個"-"前面的位置為0,最後一個"-"後面的位置等於減號數量)
//$s 要替換的內容
$arr=explode('-',$str,14); //如果是前面固定13個減號,可以加一個參數14
if($index>=count($arr)){
$arr[count($arr)-1]=$s;
}elseif($index<0){
$arr[0]=$s;
}else{
$arr[$index]=$s;
}
return(implode('-',$arr).'.html');
}
$string='21--------43-----哈啊';
$newStr=replace($string,0,'aaa'); //第1個減號前面的位置替換為aaa
echo$newStr.'.html<br>';
$newStr=replace($newStr,2,'bbb'); //第2個減號後面的位置替換為bbb
echo$newStr.'.html<br>';
$newStr=replace($newStr,8,'ccc'); //第8個減號後面的位置替換為ccc
echo$newStr.'.html';
應該能用吧