ホームページ  >  記事  >  バックエンド開発  >  PHPで文字列内のすべての文字を置換する方法

PHPで文字列内のすべての文字を置換する方法

青灯夜游
青灯夜游オリジナル
2022-10-14 19:08:5220191ブラウズ

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 が正の数の場合、文字列の開始位置から置換が開始されます。 start が負の場合、置換は文字列の末尾からの開始位置から開始されます。

  • 長さパラメータが設定されており、それが正の数値の場合、文字列内の置換された部分文字列の長さを表します。負の数に設定した場合、文字列の末尾から置換される部分文字列の末尾からの文字数を表します。このパラメータが指定されていない場合、デフォルトは strlen(string) (文字列の長さ) です。もちろん、長さが 0 の場合、この関数の機能は文字列の開始位置に置換を挿入することです。

#パラメータ説明交換#開始length例: 文字列内のすべての文字を置換##関数の 3 番目のパラメータを 0 に設定するだけです。 3 番目 各パラメータを元の文字列の長さに設定するか、パラメータを省略してすべての文字を置き換えます
文字列## ####必須。チェックする文字列を指定します。
必須。挿入する文字列を指定します。
必須。文字列内のどこから置換を開始するかを指定します。 正の数値 - 文字列内の指定された位置から始まります。 負の数値 - 文字列の末尾から指定された位置から始まります。
  • 0 - 文字列内の最初の文字から始まります。文字列 Start at
オプション。置換する文字数を指定します。デフォルトは文字列の長さと同じです。 正の数値 - 置換される文字列の長さ 負の数値 - 文字列の末尾から置換される文字数
  • 0 - 代わりに挿入replace
<?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>";
?>


#メソッド 2/メソッド 3: str_ireplace() およびstr_replace() 関数

PHPで文字列内のすべての文字を置換する方法

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 の値を置き換える値を指定します。 #文字列 オプション。置換の数をカウントする変数。

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

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

<?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视频教程

find
replace
必須。検索する文字列を指定します。
#カウント

以上がPHPで文字列内のすべての文字を置換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。