Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menggantikan Hanya Kejadian Pertama (atau Terakhir) Substring dalam PHP?

Bagaimanakah Saya Boleh Menggantikan Hanya Kejadian Pertama (atau Terakhir) Substring dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-17 12:17:24342semak imbas

How Can I Replace Only the First (or Last) Occurrence of a Substring in PHP?

Menggantikan Hanya Kejadian Pertama dengan str_replace

Walaupun tiada fungsi str_replace terbina dalam yang mengehadkan penggantiannya kepada kejadian pertama, secara relatifnya penyelesaian yang mudah wujud tanpa menggunakan yang rumit hacks.

Untuk mencapai ini, gunakan fungsi strpos untuk mencari kedudukan subrentetan dalam rentetan utama. Setelah dikenal pasti, gunakan substr_replace untuk mengubah suai rentetan asal, menyatakan kedudukan kejadian dan panjang subrentetan itu. Kaedah ini dengan cekap menggantikan kejadian pertama tanpa overhed ungkapan biasa.

Contoh Kod:

$haystack = "This is a sample string";
$needle = "is";
$replace = "was";

$pos = strpos($haystack, $needle);
if ($pos !== false) {
    $newstring = substr_replace($haystack, $replace, $pos, strlen($needle));
}

echo $newstring; // Output: "This was a sample string"

Bonus: Untuk menggantikan yang terakhir kejadian, gantikan strpos dengan strrpos:

$pos = strrpos($haystack, $needle);
if ($pos !== false) {
    $newstring = substr_replace($haystack, $replace, $pos, strlen($needle));
}

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggantikan Hanya Kejadian Pertama (atau Terakhir) Substring dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn