3 kaedah penggantian: 1. Gunakan substr_replace() untuk menggantikan semua aksara bermula dari permulaan rentetan, sintaksnya ialah "substr_replace(rentetan asal, nyatakan nilai gantian, 0)". 2. Gunakan str_replace() untuk menggantikan semua aksara, sintaksnya ialah "str_replace(rentetan asal, nilai gantian yang ditentukan, rentetan asal)". 3. Gunakan str_ireplace() untuk menggantikan semua aksara, sintaksnya ialah "str_ireplace(rentetan asal, nilai gantian yang ditentukan, rentetan asal)".
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3
Kaedah 1 : Gunakan fungsi substr_replace()
Fungsi substr_replace() menggantikan sebahagian daripada rentetan dengan rentetan lain.
substr_replace(string,replacement,start,length)
substr_replace() Menggantikan subrentetan yang layak oleh parameter panjang permulaan dan pilihan dalam salinan rentetan rentetan menggunakan penggantian.
Jika permulaan ialah nombor positif, penggantian akan bermula dari kedudukan permulaan rentetan. Jika permulaan negatif, penggantian akan bermula pada kedudukan permulaan dari bahagian bawah rentetan.
Jika parameter panjang ditetapkan dan ialah nombor positif, ia mewakili panjang subrentetan yang diganti dalam rentetan. Jika ditetapkan kepada nombor negatif, ia mewakili bilangan aksara dari hujung subrentetan yang akan digantikan daripada hujung rentetan. Jika parameter ini tidak disediakan, ia lalai kepada strlen(rentetan) (panjang rentetan). Sudah tentu, jika panjang ialah 0, maka fungsi fungsi ini adalah untuk memasukkan penggantian pada kedudukan permulaan rentetan.
Parameter | Penerangan | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
rentetan | Diperlukan. Menentukan rentetan untuk diperiksa. | ||||||||||
penggantian | Diperlukan. Menentukan rentetan yang hendak disisipkan. | ||||||||||
mulakan | Diperlukan. Menentukan tempat dalam rentetan untuk memulakan penggantian.
0 - aksara pertama dalam rentetan Mulakan pada <?php header('content-type:text/html;charset=utf-8'); $str = 'hello world!'; echo "原字符串:".$str."<br><br>"; $replace = 'ABCDEFGHIJKL'; echo "替换全部字符字符:".substr_replace($str, $replace,0)."<br>"; ?> Salin selepas log masuk | ||||||||||
panjang | boleh pilih. Menentukan bilangan aksara untuk diganti. Lalai adalah sama dengan panjang rentetan. Nombor positif - panjang rentetan yang akan diganti Nombor negatif - bilangan aksara yang akan diganti dari hujung rentetan0 - masukkan bukannya gantikan |
str_replace(find,replace,string,count) str_ireplace(find,replace,string,count)
参数 | 描述 |
---|---|
find | 必需。规定要查找的值。 |
replace | 必需。规定替换 find 中的值的值。 |
string | 必需。规定被搜索的字符串。 |
count | 可选。对替换数进行计数的变量。 |
示例:替换字符串中的所有字符
只需要将第一个参数设置为原字符串值即可。
<?php header('content-type:text/html;charset=utf-8'); $str = 'hello world!'; echo "原字符串:".$str."<br><br>"; $replace = 'ABCDEFGHIJKL'; echo "替换全部字符字符:".str_replace($str, $replace, $str)."<br>"; echo "替换全部字符字符:".str_ireplace($str, $replace, $str)."<br>"; ?>
扩展知识:替换字符串还可利用正则替换函数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('content-type:text/html;charset=utf-8'); $subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4'); $pattern = array('/\d/', '/[a-z]/', '/[1a]/'); $replace = array('A:$0', 'B:$0', 'C:$0'); echo "preg_filter 返回值:\n"; var_dump(preg_filter($pattern, $replace, $subject)); echo "preg_replace 返回值:\n"; var_dump(preg_replace($pattern, $replace, $subject)); ?>
推荐学习:《PHP视频教程》
Atas ialah kandungan terperinci Bagaimana untuk menggantikan semua aksara dalam rentetan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!