Dalam PHP, ungkapan biasa ialah alat yang sangat berkuasa yang boleh digunakan untuk memadankan corak dalam teks. PHP menyediakan banyak fungsi terbina dalam untuk mengendalikan ungkapan biasa, menjadikannya lebih mudah dan lebih pantas.
Dalam artikel ini, kita akan mempelajari cara menggunakan fungsi ekspresi biasa dalam PHP, meliputi topik berikut:
- Sintaks Ungkapan Biasa
- fungsi preg_match
- fungsi preg_match_all
- fungsi preg_replace
- fungsi preg_split
- Beberapa fungsi berguna lain
- Sintaks ungkapan biasa
>Dalam PHP, sintaks ungkapan biasa termasuk aksara meta berikut:
Mewakili mana-mana aksara tunggal
^ mewakili bermula dengan aksara atau rentetan tertentu
$ mewakili bermula dengan The. hujung aksara atau rentetan tertentu
[] mewakili set aksara tertentu
| mewakili operasi logik ATAU
() digunakan untuk menangkap teks yang dipadankan
mewakili aksara atau subungkapan sebelumnya boleh muncul sifar atau lebih kali - bermakna aksara atau subungkapan sebelumnya boleh muncul satu atau lebih kali
- bermakna aksara atau subungkapan sebelumnya boleh muncul sifar atau sekali
Selain aksara meta ini, ungkapan biasa juga menyokong beberapa kelas aksara khas dan aksara melarikan diri. Ini boleh didapati dalam manual PHP.
fungsi preg_match -
Fungsi preg_match ialah fungsi yang sangat biasa digunakan, digunakan untuk mencari corak dalam teks yang sepadan dengan ungkapan biasa yang ditentukan. Ia mengembalikan rentetan padanan pertama.
Berikut ialah sintaks asas fungsi preg_match:
preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ] ]] ): int|false
Di mana $pattern ialah ungkapan biasa dan $subject ialah teks yang hendak dicari.
Sebagai contoh, kami ingin mencari perkataan "php" pertama daripada rentetan. Berikut ialah contoh menggunakan preg_match:
$str = "Ini ialah pengaturcaraan php.";
jika (preg_match("/php/", $str)) {
echo "Match found ! ";
} lain {
bergema "Padanan tidak ditemui.";
}
Hasil keluaran:
Padanan ditemui!
Contoh ini , kami menggunakan preg_match untuk mencari corak "php" dalam rentetan $str.
fungsi preg_match_all -
Berbeza daripada fungsi preg_match, fungsi preg_match_all mencari teks untuk corak yang sepadan dengan ungkapan biasa yang ditentukan dan mengembalikan semua rentetan yang dipadankan.
Berikut ialah sintaks asas fungsi preg_match_all:
preg_match_all ( string $pattern , rentetan $subjek [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ] ]] ): int|false
Dalam contoh ini, $pattern ialah ungkapan biasa dan $subject ialah teks yang hendak dicari. $matches ialah tatasusunan yang menyimpan semua rentetan yang dipadankan.
Sebagai contoh, kami ingin mencari semua nombor dalam rentetan. Berikut ialah contoh menggunakan fungsi preg_match_all:
$str = "Pada tahun 2020, saya bertemu dengan 18 orang, dan pada tahun 2019, saya bertemu dengan 10 orang.";
preg_match_all("/d+/", $ str, $matches);
print_r($matches);
Hasil keluaran:
Array
(
[0] => Array
(
[0] => 2020
[1] => 18
[2] => 2019
[3] => 10
)
Salin selepas log masuk
)
dalam Dalam contoh ini, kami menggunakan preg_match_all untuk mencari semua nombor dalam rentetan $str, dan menggunakan fungsi print_r untuk mengeluarkan nombor yang dicari.
fungsi preg_replace
Fungsi preg_replace digunakan untuk mencari corak ungkapan biasa yang ditentukan dalam teks dan menggantikannya dengan rentetan yang ditentukan.
Berikut ialah sintaks asas fungsi preg_replace:
preg_replace ( campur $pattern , campuran $replacement , campuran $subjek [, int $limit = -1 [, int &$count ]] ) : bercampur
Dalam contoh ini, $pattern ialah ungkapan biasa, $replacement ialah rentetan untuk menggantikan teks yang dipadankan dan $subject ialah teks yang hendak dicari. $limit ialah nombor maksimum untuk diganti.
Sebagai contoh, kami ingin mengalih keluar semua nombor daripada rentetan. Berikut ialah contoh menggunakan fungsi preg_replace:
$str = "Pada tahun 2020, saya bertemu dengan 18 orang, dan pada tahun 2019, saya bertemu dengan 10 orang.";
$pattern = '/d+/';
$replacement = '';
echo preg_replace($pattern, $replacement, $str);
Hasil keluaran:
Dalam , saya bertemu orang dan dalam , saya bertemu orang.
Dalam contoh ini, kami menggunakan fungsi preg_replace untuk mencari semua nombor dan menggantikannya dengan rentetan kosong.
fungsi preg_split
Fungsi preg_split digunakan untuk memisahkan rentetan teks berdasarkan corak ungkapan biasa yang ditentukan.
Berikut ialah sintaks asas fungsi preg_split:
preg_split ( rentetan $pattern , rentetan $subjek [, int $limit = -1 [, int $flags = 0 ]] ) : array
Dalam contoh ini, $pattern ialah ungkapan biasa dan $subject ialah rentetan teks yang akan dipecahkan. $limit ialah nombor maksimum untuk dipecahkan.
Sebagai contoh, kami ingin membahagikan rentetan yang dipisahkan koma kepada tatasusunan. Berikut ialah contoh menggunakan fungsi preg_split:
$str = "epal,oren,pisang,anggur";
$array = preg_split("/,/", $str);
print_r ($array);
Hasil keluaran:
Array
(
[0] => apple
[1] => orange
[2] => banana
[3] => grape
Salin selepas log masuk
)
Dalam contoh ini, kami menggunakan fungsi preg_split berdasarkan koma Pisahkan rentetan kepada tatasusunan.
- Beberapa fungsi berguna lain
Selain fungsi di atas, PHP juga menyediakan banyak fungsi ekspresi biasa lain yang berguna:
preg_grep: untuk mencari elemen tatasusunan yang sepadan ungkapan biasa dan mengembalikan tatasusunan baharu yang mengandungi elemen padanan.
preg_filter: Digunakan untuk mencari elemen dalam tatasusunan yang sepadan dengan ungkapan biasa dan menggantikannya dengan rentetan gantian yang ditentukan.
preg_last_error: Mengembalikan kod ralat bagi fungsi ungkapan biasa terakhir.
- Ringkasan
Fungsi ungkapan biasa dalam PHP memberikan kefleksibelan dan kuasa operasi asas untuk memanipulasi teks dengan mudah. Memahami penggunaan dan sintaks fungsi ini dalam PHP ialah langkah pertama dalam mempelajari ungkapan biasa.
Atas ialah kandungan terperinci Cara menggunakan fungsi ekspresi biasa dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!