Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Menggantikan Seluruh Perkataan dalam Rentetan Menggunakan PHP dan Ungkapan Biasa?

Bagaimanakah Saya Boleh Menggantikan Seluruh Perkataan dalam Rentetan Menggunakan PHP dan Ungkapan Biasa?

DDD
Lepaskan: 2024-12-03 18:36:13
asal
297 orang telah melayarinya

How Can I Replace Whole Words in a String Using PHP and Regular Expressions?

Mengganti Keseluruhan Padanan Perkataan dalam Rentetan

Apabila cuba menggantikan perkataan tertentu dalam rentetan menggunakan fungsi str_replace() PHP, ia kadangkala menggantikan bahagian perkataan dan bukannya keseluruhan perkataan. Tingkah laku yang tidak diingini ini boleh berlaku apabila perkataan atau frasa yang akan diganti muncul dalam perkataan yang lebih panjang.

Untuk menyelesaikan isu ini, ungkapan biasa boleh digunakan. Ungkapan biasa memberikan kawalan yang lebih terperinci ke atas proses carian dan penggantian. Dengan memasukkan aksara meta b, yang sepadan dengan sempadan perkataan, anda boleh memastikan bahawa hanya padanan keseluruhan perkataan diganti.

Penyelesaian:

$text = preg_replace('/\bHello\b/', 'NEW', $text);
Salin selepas log masuk

Dalam kod ini, bHellob sepadan dengan kejadian lengkap perkataan "Hello," seperti yang ditunjukkan oleh perkataan sempadan. Ini memastikan bahawa penggantian hanya berlaku apabila "Hello" ialah perkataan bebas.

Pertimbangan Unikod:

Jika rentetan mengandungi aksara UTF-8, "u" Pengubah suai (Unicode) mesti ditambahkan pada ungkapan biasa, seperti yang ditunjukkan di bawah:

$text = preg_replace('/\bHello\b/u', 'NEW', $text);
Salin selepas log masuk

Pengubah suai ini memastikan bahawa aksara bukan Latin tidak disalahtafsirkan sebagai sempadan perkataan, menghasilkan penggantian yang tepat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggantikan Seluruh Perkataan dalam Rentetan Menggunakan PHP dan Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan