Regex dalam PHP

R

Apakah Ekspresi Biasa?

Ungkapan biasa pada asasnya bermula daripada matematik yang mentakrifkan julat aksara untuk tujuan tertentu. Bahasa yang berbeza mendapat rujukan daripada konsep matematik ini dan menggunakannya untuk mencari pola dan pengesahan data. Dalam artikel ini, anda akan mempelajari regex dalam PHP.

Terdapat banyak kes penggunaan regex dalam PHP seperti mencari, mengesahkan, dll. Dalam artikel ini, anda akan mempelajari tentang ungkapan biasa dalam corak carian. Sebaik sahaja anda dapat memahami regex, anda boleh menggunakannya di mana-mana sahaja dalam PHP.

Ungkapan biasa boleh digunakan untuk mencari teks daripada rentetan atau untuk menggantikan aksara atau rentetan tertentu.

Ungkapan biasa boleh menjadi satu aksara atau gabungan beberapa corak kompleks.

Sintaks ungkapan biasa dalam PHP

Pembatas boleh menjadi mana-mana aksara yang bukan huruf, nombor, garis miring ke belakang atau ruang. Pembatas yang paling biasa ialah garis miring ke hadapan (/), tetapi apabila corak anda mengandungi garis miring ke hadapan adalah mudah untuk memilih pembatas lain seperti # atau ~.

Umumnya, ungkapan biasa dalam PHP terdiri of tiga bahagian.

  1. pembatas – Ia menentukan yang memberitahu permulaan atau akhir rentetan dalam corak. Pembatas tidak boleh berupa garis miring ke belakang, nombor, huruf atau ruang. Walau bagaimanapun, garis miring ke hadapan boleh digunakan sebagai pembatas. Jika corak yang anda cari terdiri daripada pemajukan garis miring, anda boleh menukar pembatas kepada condong ~ atau cincang #.
  2. corak – Ia menyatakan corak atau urutan aksara untuk dicari.
  3. Pengubah suai (pilihan) – Anda boleh menjadikan pemadanan bekas corak tidak sensitif atau sensitif.

Contoh

$exp = "/php.org/i";

RegextFunctions dalam PHP

PHP menyediakan fungsi terbina dalam untuk ungkapan biasa. Fungsi regex yang paling biasa dalam PHP ialah:

  • Preg_replace() – Ia mengira bilangan kali corak berlaku dalam rentetan dan mengembalikan kiraan.
  • Preg_match() – mengembalikan 0 sekiranya corak tidak ditemui dalam rentetan. 1 sekiranya dijumpai.
  • Preg_match_all() – Fungsi ini menggantikan rentetan dengan rentetan lain di mana corak dipadankan. Anda akan mendapat idea yang lebih jelas dalam bahagian seterusnya jika anda sukar untuk memahaminya.

fungsi preg_match dalam PHP

Fungsi Preg_match mengembalikan hasil binari. Iaitu sama ada 0 atau 1. Jika rentetan mengandungi corak yang anda tentukan dalam hujah pertama fungsi preg_match, ia akan mengembalikan 1. 0 sekiranya tidak dijumpai.

Lihat contoh berikut, di mana kita mencari rentetan untuk aksara PHP.

<?php
$str = "Visit php.org";
$pattern = "/php/i";
echo preg_match($pattern, $str); // Outputs 1
?>

fungsi preg_match_all dalam PHP

Fungsi ini tidak memberitahu sama ada corak wujud dalam rentetan atau tidak. Ia mengembalikan kiraan bilangan kali corak muncul dalam rentetan. Lihat contoh berikut di mana kami telah melakukan carian tidak sensitif huruf besar bagi corak dalam rentetan yang diberikan.

Contoh

<?php
$str = "It is raining heavily. Cars are slipping outside. ";
$pattern = "/ing/i";
echo preg_match_all($pattern, $str); // Outputs 4
?>

/i dalam contoh di atas nyatakan bahawa rentetan boleh sama ada dalam huruf kecil atau huruf besar.

fungsi preg_replace dalam PHP

preg_replace fungsi mengembalikan rentetan baharu dengan menggantikan corak yang terdapat dalam rentetan dengan beberapa rentetan aksara lain. Fungsi ini menerima tiga parameter. Parameter pertama ialah corak untuk mencari dalam rentetan dalam parameter kedua. Akhir sekali, parameter ketiga ialah rentetan untuk diletakkan di tempat corak yang terdapat dalam rentetan.

Lihat contoh berikut, di mana kami menggantikan perkataan tapak web dengan PHP.org

Contoh

<?php
$str = "Visit Website!";
$pattern = "/Website/i";
echo preg_replace($pattern, "php.org", $str); // Outputs "Visit php.org!"
?>

Pengubah Ubah Ungkapan Biasa

Anda boleh melaraskan gelagat carian regex dalam PHP dengan mentakrifkan pembolehubah pengubah suai berikut.

  1. I – Digunakan untuk melakukan carian tidak peka huruf besar-besaran.
  2. U – Untuk mencari corak utf-8 yang betul.
  3. M – Menambah pelbagai carian dalam regex PHP. Terdapat beberapa corak yang mencari pada permulaan atau akhir setiap baris. Jadi, corak ini melihat pada permulaan dan penghujung setiap baris rentetan.

Tentukan julat dalam regex PHP

Fahami tiga konsep berikut. Ia akan membantu anda untuk meletakkan julat dalam corak semasa mencari teks atau menggantikannya.

  1. [abc] – Kurungan segi empat sama menunjukkan bahawa mencari mana-mana satu aksara daripada aksara ini dalam rentetan.
  2. [^0-9] – Cari aksara yang tidak berada dalam julat dalam kurungan.
  3. [0-9] – Cari mana-mana satu aksara di antara 0 hingga 9. 0 dan 9 adalah termasuk dalam kes ini.

Anda boleh mengetahui lebih lanjut tentang fungsi Regex dalam PHP laman web ini

Add comment

Rangkaian Tutor

Belajar PHP dari A hingga Z