Dalam artikel sebelumnya, kami memperkenalkan kaedah sensitif huruf besar-besaran untuk mendapatkan kejadian pertama atau terakhir subrentetan dalam rentetan, dan kemudian menentukan sama ada subrentetan itu wujud Jika anda memerlukannya, sila lihat "rentetan PHP belajar untuk mengesan sama ada subrentetan wujud (sensitif huruf besar-kecil) 》. Kali ini kami akan membawa anda memahami penggantian rentetan dan memperkenalkan cara menggunakan PHP untuk menggantikan subrentetan dengan panjang tertentu kepada tanda *.
PHP menyediakan berbilang fungsi yang boleh melakukan penggantian rentetan, tetapi kaedah penggantiannya berbeza. Ada yang secara langsung memberikan subrentetan yang perlu diganti, dan ada yang memberikan kedudukan permulaan penggantian dan panjang penggantian. Hari ini kita akan belajar tentang kaedah yang terakhir.
Mari kita lihat contoh berikut:
<?php $str = 'hello,world,hello,world'; $replace = '*'; echo substr_replace($str, $replace, 0,5)."<br>"; echo substr_replace($str, $replace, 6,5)."<br>"; ?>
Melihat kod ini, pada pendapat anda apakah yang akan dikeluarkan? Patutkah "*,world,hello,world
" dan "hello,*,hello,world
" menjadi output? Adakah itu betul? Dalam contoh di atas, fungsi substr_replace() masing-masing menggantikan rentetan
" dan bermula dari aksara ke-7 dengan panjang 5 aksara "" digantikan dengan simbol
.$str
hello
Baiklah, sekarang setelah kita faham cara menggantikan subrentetan dengan panjang tertentu dengan tanda *, mari kita lihat fungsi substr_replace() yang melaksanakan fungsi ini. Fungsi world
*
menerima tiga parameter yang diperlukan , (nilai gantian) dan
(kedudukan permulaan penggantian), dan parameter yang ditinggalkan ( bilangan aksara untuk menggantikan). Fungsi substr_replace($string,$replacement,$start,$length)
$string
substr_replace() menggantikan subrentetan yang layak oleh parameter $replacement
dan $start
dengan $length
dalam salinan rentetan
$string
Ringkasnya, ia menggunakan nilai $start
bermula dari kedudukan $length
(nota, kedudukan rentetan $replacement
bermula dari 0
aksara. $replacement
$start
mempunyai tiga situasi nilai: $length
ialah nombor positif dan penggantian akan bermula dari kedudukan $mula $string. $start
ialah nombor negatif, penggantian akan bermula dari $string Ia bermula pada kedudukan kedua dari $start.
Parameter mempunyai empat nilai:
ialah nombor positif, yang bermaksud panjang subrentetan yang diganti. $length
ialah 0, maka fungsi substr_replace() mempunyai fungsi sisipan dan akan memasukkan
pada kedudukan$replacement
$start
Jika parameter ini ditinggalkan, lalai ialah strlen(rentetan) (panjang rentetan), yang menggantikan keseluruhan subrentetan bermula dari kedudukan $mula.
Hasil keluaran:
<?php $str = 'hello,world,hello,world'; $replace = '*'; echo substr_replace($str, $replace, 0,-5)."<br>"; echo substr_replace($str, $replace, -5,5)."<br>"; echo substr_replace($str, $replace, 6)."<br>"; ?>
Itu sahaja buat masa ini, jika ada perkara lain yang anda ingin tahu , Anda boleh klik ini. → →
Pemprosesan Rentetan PHP (Edisi Sutra Jantung Gadis Jade) ", ianya percuma~ datang dan belajar!
Atas ialah kandungan terperinci Bagaimana untuk menukar subrentetan dengan panjang tertentu kepada * log masuk PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!