首頁  >  文章  >  後端開發  >  php怎麼替換字串中的所有字符

php怎麼替換字串中的所有字符

青灯夜游
青灯夜游原創
2022-10-14 19:08:5220161瀏覽

3種替換方法:1、用substr_replace()從字串頭部開始替換全部字符,語法「substr_replace(原始字串,指定替換值,0)」。 2.用str_replace()替換全部字符,語法「str_replace(原字串,指定替換值,原字串)」。 3.用str_ireplace()替換全部字符,語法「str_ireplace(原字串, 指定替換值, 原字串)」。

php怎麼替換字串中的所有字符

本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦

方法1:利用substr_replace()函數

substr_replace() 函數把字串的一部分替換為另一個字串。

substr_replace(string,replacement,start,length)
  • substr_replace() 在字串 string 的副本中將由 start 和可選的 length 參數限定的子字串使用 replacement 進行替換。

  • 如果 start 為正數,替換將從 string 的 start 位置開始。如果 start 為負數,替換將從 string 的倒數第 start 個位置開始。

  • 如果設定了 length 參數且為正數,就表示 string 中被取代的子字串的長度。如果設定為負數,就表示待替換的子字串結尾處距離 string 末端的字元個數。如果沒有提供此參數,那麼預設為 strlen(string)(字串的長度)。當然,如果 length 為 0,那麼這個函數的函數為將 replacement 插入 string 的 start 位置處。

參數 描述
string 必需。規定要檢查的字串。
replacement 必要。規定要插入的字串。
start #必要。規定在字串的何處開始替換。
  • 正數- 在字串的指定位置開始
  • 負數- 在從字串結尾的指定位置開始
  • 0 - 在字串中的第一個字符處開始
length 可選。規定要替換多少個字元。預設是與字串長度相同。
  • 正數- 被替換的字串長度
  • 負數- 從字串末端開始的被替換字元數
  • 0 - 插入而非替換

#範例:取代字串中的所有字元

#只需要將函數的第三個參數設為0,第三個參數設定為原始字串長度或省略即可替換全部字元

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;hello world!&#39;;
echo "原字符串:".$str."<br><br>";
$replace = &#39;ABCDEFGHIJKL&#39;;
echo "替换全部字符字符:".substr_replace($str, $replace,0)."<br>";
?>

php怎麼替換字串中的所有字符

#方法2/方法3:str_ireplace() 和str_replace()函數

str_ireplace() 和str_replace 都使用新的字串取代原來字串中指定的子字串,如果需要替換的子字串就是原字串,則可替換原字串中的所有字元。

str_ireplace() 和str_replace的語法是相似的,差異在於str_replace 區分大小寫,str_ireplace() 不區分大小寫

str_replace(find,replace,string,count)
str_ireplace(find,replace,string,count)
#參數 描述
find ##。規定要找的值。
replace 必要。規定替換 find 中的值的值。
string 必要。規定被搜尋的字串。
count #可選。對替換數進行計數的變數。

示例:替换字符串中的所有字符

只需要将第一个参数设置为原字符串值即可。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;hello world!&#39;;
echo "原字符串:".$str."<br><br>";
$replace = &#39;ABCDEFGHIJKL&#39;;
echo "替换全部字符字符:".str_replace($str, $replace, $str)."<br>";
echo "替换全部字符字符:".str_ireplace($str, $replace, $str)."<br>";
?>

php怎麼替換字串中的所有字符

扩展知识:替换字符串还可利用正则替换函数preg_replace() 和preg_filter()

preg_replace() 和preg_filter()函数都可以执行正则表达式的搜索和替换,不同的是 preg_filter() 函数只返回匹配成功的结果,而 preg_replace() 返回所有结果,不管是否匹配成功。

preg_replace() 和preg_filter()函数的语法类似:

preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])
preg_filter($pattern, $replacement, $subject [, $limit = -1 [, &$count]])

搜索 $subject 中匹配 $pattern 的部分, 以 $replacement 进行替换。

参数说明如下:

  • $pattern:要搜索的模式,可以使一个字符串或字符串数组;

  • $replacement:用于替换的字符串或字符串数组。如果这个参数是一个字符串,并且 $pattern 是一个数组,那么所有的模式都使用这个字符串进行替换。如果 $pattern 和 $replacement 都是数组,每个 $pattern 使用 $replacement 中对应的元素进行替换。如果 $replacement 中的元素比 $pattern 中的少,多出来的 $pattern 使用空字符串进行替换。

  • $subject:要进行搜索和替换的字符串或字符串数组,如果 $subject 是一个数组,搜索和替换回在 $subject 的每一个元素上进行, 并且返回值也会是一个数组。

  • $limit:可选参数,每个模式在每个 $subject 上进行替换的最大次数。默认是 -1(无限)。

  • $count:可选参数,如果指定,将会被填充为完成的替换次数。

示例:

preg_filter()和preg_replace()利用正则来替换字符串

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);
$subject = array(&#39;1&#39;, &#39;a&#39;, &#39;2&#39;, &#39;b&#39;, &#39;3&#39;, &#39;A&#39;, &#39;B&#39;, &#39;4&#39;); 
$pattern = array(&#39;/\d/&#39;, &#39;/[a-z]/&#39;, &#39;/[1a]/&#39;); 
$replace = array(&#39;A:$0&#39;, &#39;B:$0&#39;, &#39;C:$0&#39;); 
 
echo "preg_filter 返回值:\n";
var_dump(preg_filter($pattern, $replace, $subject)); 
 
echo "preg_replace 返回值:\n";
var_dump(preg_replace($pattern, $replace, $subject)); 
?>

php怎麼替換字串中的所有字符

推荐学习:《PHP视频教程

以上是php怎麼替換字串中的所有字符的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn