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

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

Patricia Arquette
Lepaskan: 2024-12-09 00:59:10
asal
894 orang telah melayarinya

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

Mencari dan Mengganti Keseluruhan Padanan Perkataan dalam Rentetan

Apabila bekerja dengan rentetan, perkara biasa perlu menggantikan perkataan atau frasa tertentu. Walau bagaimanapun, hanya menggunakan fungsi penggantian rentetan seperti str_replace() boleh membawa kepada hasil yang tidak dijangka, kerana ia menggantikan semua kemunculan corak tanpa mengira kedudukannya dalam perkataan.

Untuk menangani perkara ini, ungkapan biasa boleh digunakan untuk padankan hanya contoh keseluruhan perkataan bagi sesuatu corak. Kunci kepada ini ialah perkataan metacharacter sempadan, dilambangkan dengan "b".

Menggunakan Ungkapan Biasa

Untuk menggantikan hanya padanan perkataan keseluruhan, gunakan pola ungkapan biasa berikut :

/\bHello\b/
Salin selepas log masuk

Berikut ialah pecahan corak:

  • "/" (pembatas): Menunjukkan permulaan dan akhir ungkapan biasa.
  • "b" (sempadan perkataan) : Padan dengan permulaan atau akhir perkataan.
  • "Hello" (corak): Perkataan yang anda mahu padankan.
  • "/" (pembatas): Menunjukkan penghujung ungkapan biasa.

Contoh Pelaksanaan

Pertimbangkan PHP berikut kod:

<?php
$text = "Hello hellol hello, Helloz";
$newtext = preg_replace('/\bHello\b/', 'NEW', $text);
echo $newtext;
?>
Salin selepas log masuk

Penjelasan:

  • Fungsi preg_replace() digunakan untuk melaksanakan penggantian ungkapan biasa.
  • Fungsi biasa ungkapan /bHellob/ digunakan untuk mencari dan menggantikan padanan keseluruhan perkataan "Hello" dengan "BARU".
  • Hasilnya disimpan dalam $newtext.

Output:

NEW hello1 hello, Helloz
Salin selepas log masuk

Pertimbangan Unikod

Jika teks anda mengandungi aksara Unikod, anda mungkin perlu menambah "u" pengubah suai kepada ungkapan biasa untuk mengendalikan aksara bukan latin dengan betul:

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

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

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan