Pengenalan kepada Ungkapan Biasa dalam PHP
Ungkapan biasa ialah arahan untuk carian dan penggantian yang kompleks. Ia membolehkan anda melakukan perkara yang sangat menarik, tetapi malangnya, agak sukar untuk dikuasai.
Terdapat beberapa fungsi PHP untuk bekerja
dengan ungkapan biasa. Kami akan mula berkenalan
dengannya menggunakan contoh preg_replace. Fungsi
ini menerima parameter pertama apa yang perlu diganti,
parameter kedua - dengan apa yang perlu diganti, dan parameter ketiga
- rentetan di mana penggantian perlu dilakukan:
<?php
preg_replace(apa yang perlu diganti, dengan apa, rentetan);
?>
Pada masa yang sama, parameter pertama fungsi kami menerima
bukan sekadar rentetan, tetapi ungkapan biasa,
yang mewakili rentetan dengan set arahan,
terletak di dalam simbol pagar #.
Pagar ini dipanggil pembatas
ungkapan biasa.
Selepas pembatas, anda boleh menulis pengubah - arahan yang mengubah sifat umum ungkapan biasa.
Ungkapan biasa sendiri terdiri daripada dua jenis aksara: daripada mereka yang mewakili diri mereka sendiri dan daripada aksara-arahan, yang dipanggil aksara khas.
Huruf dan nombor mewakili diri mereka sendiri. Dalam contoh
berikutnya, kami akan menggunakan ungkapan biasa
untuk menggantikan huruf 'a' dengan '!':
<?php
preg_replace('#a#', '!', 'bab'); // akan mengembalikan 'b!b'
?>
Manakala titik ialah aksara khas
dan mewakili sebarang aksara. Dalam contoh
berikutnya, kami akan mencari rentetan menggunakan corak ini:
huruf 'x', kemudian sebarang aksara, kemudian
sekali lagi huruf 'x':
<?php
preg_replace('#x.x#', '!', 'xax eee'); // akan mengembalikan '! eee'
?>
Diberi rentetan:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Tulis ungkapan biasa yang akan mencari rentetan
'ahb', 'acb', 'aeb'
mengikut corak: huruf 'a', sebarang aksara,
huruf 'b'.
Diberi rentetan:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Tulis ungkapan biasa yang akan mencari rentetan
'aeeb', 'adcb', 'axeb'
mengikut corak: huruf 'a', dua sebarang
aksara, huruf 'b'.