Semak Rentetan dengan Regex di PHP
Kemampuan regex jauh lebih luas daripada sekadar
mencari dan menggantikan. Terdapat juga fungsi
preg_match, yang menyemak sama ada suatu rentetan
mempunyai padanan dengan regex. Parameter pertama
fungsi ini menerima ungkapan nalar, dan parameter
kedua - rentetan untuk dicari.
Dalam pada itu, jika terdapat banyak padanan,
fungsi ini hanya akan menemui yang pertama dan
menamatkan operasinya. Oleh itu, fungsi ini
akan mengembalikan sama ada 1, atau
0 dan digunakan untuk menjawab soalan
'adakah yang dicari berada dalam rentetan atau tidak'.
Mengembalikan satu - bermakna ada (berapa kali
- tidak jelas), mengembalikan sifar - bermakna tiada.
Mari kita lihat contoh. Semak,
adakah dalam rentetan terdapat subrentetan yang
terdiri daripada huruf 'a', diulang satu atau lebih kali:
<?php
echo preg_match('#a+#', 'eee aaa bbb'); // akan memaparkan 1
?>
Sekarang dalam rentetan kita tiada yang dicari, dan fungsi
akan memaparkan 0:
<?php
echo preg_match('#a+#', 'eee bbb'); // akan memaparkan 0
?>
Tentukan sama ada rentetan mempunyai 3 digit
berturut-turut.
Tentukan sama ada rentetan yang dihantar
bermula dengan http.
Tentukan sama ada rentetan yang dihantar
bermula dengan http atau dengan https.
Tentukan sama ada rentetan yang dihantar
berakhir dengan sambungan txt, html atau php.
Tentukan sama ada rentetan yang dihantar
berakhir dengan sambungan jpg atau jpeg.