200 of 410 menu

Fungsi preg_match_all

Fungsi preg_match_all melaksanakan carian global corak dalam rentetan. Parameter pertama ialah ungkapan biasa, parameter kedua ialah rentetan untuk dicari, parameter ketiga ialah tatasusunan untuk menyimpan hasil. Parameter keempat pilihan menentukan struktur pulangan, dan parameter kelima pilihan ialah ofset permulaan carian.

Sintaks

preg_match_all(pattern, subject, matches, [flags], [offset]);

Bendera

Mari kita lihat nilai yang boleh diambil oleh parameter keempat:

Parameter Penerangan
PREG_PATTERN_ORDER Mod lalai. Hasil dikumpulkan mengikut kelompok - elemen sifar tatasusunan mengandungi kelompok sifar, elemen pertama tatasusunan mengandungi kelompok pertama dan seterusnya.
PREG_SET_ORDER Hasil dikumpulkan mengikut padanan - setiap elemen tatasusunan mengandungi tatasusunan dengan kelompok yang ditemui.
PREG_OFFSET_CAPTURE Untuk setiap padanan, kedudukan dalam rentetan dipulangkan. Setiap hasil ialah tatasusunan di mana elemen sifar mengandungi padanan, dan yang pertama - ofsetnya.
PREG_UNMATCHED_AS_NULL Kelompok yang tidak sepadan dipulangkan sebagai null dan bukannya rentetan kosong.

Contoh

Mari cari semua digit dalam rentetan:

<?php $str = 'abc 123 def 456'; preg_match_all('/\d+/', $str, $res); var_dump($res[0]); ?>

Hasil pelaksanaan kod:

['123', '456']

Contoh

Mari cari semua huruf 'a' dalam rentetan:

<?php $str = 'banana'; preg_match_all('/a/', $str, $res); var_dump($res[0]); ?>

Hasil pelaksanaan kod:

['a', 'a', 'a']

Contoh

Mari ekstrak semua cap masa dari rentetan dan komponennya:

<?php $time = '12:01:02 13:03:04 14:05:06'; preg_match_all('#(\d\d):(\d\d):(\d\d)#', $time, $res); var_dump($res); ?>

Hasil pelaksanaan kod:

[ 0 => ['12:01:02', '13:03:04', '14:05:06'], 1 => ['12', '13', '14'], 2 => ['01', '03', '05'], 3 => ['02', '04', '06'] ]

Contoh

Dan sekarang gunakan bendera PREG_SET_ORDER untuk pengelompokan mengikut padanan:

<?php $time = '12:01:02 13:03:04 14:05:06'; preg_match_all('#(\d\d):(\d\d):(\d\d)#', $time, $res, PREG_SET_ORDER); var_dump($res); ?>

Hasil pelaksanaan kod:

[ 0 => '12:01:02', 1 => '12', 2 => '01', 3 => '02' ], [ 0 => '13:03:04', 1 => '13', 2 => '03', 3 => '04' ], [ 0 => '14:05:06', 1 => '14', 2 => '05', 3 => '06' ]

Lihat juga

  • fungsi preg_match,
    yang mencari padanan pertama dengan ungkapan biasa
  • fungsi preg_replace,
    yang melaksanakan carian dan gantian dengan ungkapan biasa
Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak