Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan ungkapan biasa PHP untuk menukar aksara atau rentetan yang dipadankan kepada tatasusunan

Cara menggunakan ungkapan biasa PHP untuk menukar aksara atau rentetan yang dipadankan kepada tatasusunan

PHPz
PHPzasal
2023-04-25 09:04:10697semak imbas

Dalam pengaturcaraan PHP, ungkapan biasa ialah alat yang sangat berkuasa yang boleh digunakan untuk memproses rentetan, padanan corak dan operasi lain. Apabila memproses rentetan, kita selalunya perlu mengekstrak aksara atau rentetan yang sepadan dengan corak tertentu dan kemudian menggabungkannya ke dalam tatasusunan atau rentetan. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk menukar aksara atau rentetan yang dipadankan kepada tatasusunan dan mengeluarkannya.

1. Gunakan fungsi preg_match_all untuk memadankan rentetan

preg_match_all ialah fungsi dalam PHP yang digunakan untuk memadankan berbilang rentetan. Ia boleh memadankan semua aksara atau rentetan yang layak dalam rentetan mengikut ungkapan biasa yang ditentukan, dan menyimpannya dalam tatasusunan dan mengembalikannya. Sintaks fungsi preg_match_all adalah seperti berikut:

int preg_match_all ( string $pattern , string $subject , array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]] )

Antaranya, $pattern mewakili ungkapan biasa yang akan dipadankan dan $subject mewakili rentetan yang akan dipadankan. $matches ialah parameter tatasusunan masuk yang digunakan untuk menyimpan rentetan yang dipadankan, iaitu tatasusunan output. $flags ialah parameter pilihan yang digunakan untuk menetapkan mod padanan. $offset menunjukkan tempat dalam rentetan untuk mula dipadankan.

Berikut ialah contoh fungsi preg_match_all:

$str = "my name is Jack, Jack is my name";
$pattern = "/Jack/";
preg_match_all($pattern, $str, $matches);
print_r($matches);

Hasil keluaran adalah seperti berikut:

Array
(
    [0] => Array
        (
            [0] => Jack
            [1] => Jack
        )

)

Seperti yang dapat dilihat daripada keputusan, fungsi preg_match_all telah menukar rentetan $str Semua rentetan yang sepadan dengan ungkapan biasa "/Jack/" dipadankan dan disimpan dalam tatasusunan $matches.

2. Tukar output tatasusunan

Seterusnya, tatasusunan yang diperolehi perlu ditukar dan dikeluarkan. Adalah disyorkan untuk menggunakan pernyataan foreach untuk melintasi tatasusunan dan nilai output yang memenuhi syarat.

$str = "my name is Jack, Jack is my name";
$pattern = "/Jack/";
preg_match_all($pattern, $str, $matches);
foreach ($matches[0] as $val) {
    echo $val."\n";
}

Kod di atas akan mengeluarkan keputusan berikut:

Jack
Jack

Dengan menggelung tatasusunan yang diperoleh dan mengeluarkannya, hasil akhir ialah menukar aksara atau rentetan yang dipadankan menjadi output tatasusunan.

3. Laksanakan kod lengkap

Berikut ialah kod contoh lengkap, yang akan mencari semua nombor dalam rentetan dan menyimpannya dalam tatasusunan dan mengembalikannya.

$str = "1 apple, 2 oranges and 3 bananas";
preg_match_all('/\d+/', $str, $matches);
foreach ($matches[0] as $num) {
    $arr[] = $num;
}
print_r($arr);

Hasil output kod sampel ini ialah:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
)

4 Ringkasan

Artikel ini terutamanya memperkenalkan cara menggunakan ungkapan biasa PHP untuk memadankan aksara. Atau tukar rentetan ke dalam tatasusunan dan keluarkannya. Kaedah pelaksanaan khusus ialah menggunakan fungsi preg_match_all untuk memadankan rentetan dan menyimpannya dalam tatasusunan, dan kemudian melingkari tatasusunan yang diperoleh dan mengeluarkannya Hasil akhir ialah menukar aksara atau rentetan yang dipadankan kepada tatasusunan untuk output. Apabila menggunakan ungkapan biasa, adalah disyorkan untuk mengetahui lebih lanjut tentang penggunaannya dan sintaks biasa, supaya anda boleh menggunakan ungkapan biasa untuk memproses rentetan dan teks dengan lebih fleksibel dan cekap.

Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa PHP untuk menukar aksara atau rentetan yang dipadankan kepada tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn