Mencari Berbilang Kejadian dengan preg_match_all dalam PHP
Soalan:
Cara menggunakan preg_match PHP untuk mengenal pasti berbilang kejadian rentetan tertentu dalam sesuatu yang diberikan teks?
Contoh:
Andaikan kita ingin menentukan sama ada rentetan "/musang coklat melompat [0-9]/" muncul dua kali dalam perenggan berikut:
$string = "/brown fox jumped [0-9]/"; $paragraph = "The brown fox jumped 1 time over the fence. The green fox did not. Then the brown fox jumped 2 times over the fence.";
Jawapan:
Semasa preg_match boleh mengesan kejadian pertama rentetan, untuk mengesan berbilang kejadian, kita mesti menggunakan fungsi preg_match_all(). Kod yang diperbetulkan menggunakan preg_match_all() adalah di bawah:
if (preg_match_all($string, $paragraph, $matches)) { echo count($matches[0]) . " matches found"; } else { echo "match NOT found"; }
Dalam kod ini, $matches ialah tatasusunan yang mengandungi semua padanan yang ditemui. Ungkapan count($matches[0]) mengembalikan bilangan padanan.
Output:
Kod ini akan menghasilkan output berikut kerana rentetan yang diberikan muncul dua kali dalam perenggan:
2 matches found
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Cari Semua Kejadian Rentetan dalam PHP Menggunakan `preg_match_all()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!