Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk mengekstrak teks yang disertakan dalam kurungan persegi menggunakan ungkapan biasa PHP?

Bagaimana untuk mengekstrak teks yang disertakan dalam kurungan persegi menggunakan ungkapan biasa PHP?

Mary-Kate Olsen
Lepaskan: 2024-11-28 15:57:10
asal
973 orang telah melayarinya

How to Extract Text Enclosed in Square Brackets Using PHP Regular Expressions?

Mengekstrak Teks yang Dilampirkan dalam Kurungan Segiempat dalam PHP

Cabaran untuk menangkap teks antara kurungan segi empat sama dalam PHP memerlukan pendekatan yang bernuansa. Percubaan biasa, menggunakan /[.*?]/ sebagai regex, hanya mendapatkan semula contoh pertama, meninggalkan anda dengan hasil yang tidak lengkap.

Menangkap Kepungan:

Untuk mengatasi had ini, gunakan ungkapan biasa yang merangkumi keseluruhan teks dalam kurungan segi empat sama. Pertimbangkan corak:

$text = '[This] is a [test] string, [eat] my [shorts].';
preg_match_all("/\[[^\]]*\]/", $text, $matches);
Salin selepas log masuk

Di sini, /[1]/ berfungsi sebagai regex yang sepadan dengan mana-mana rentetan yang disertakan dalam kurungan segi empat sama. Aksara karet (^) sepadan dengan permulaan rentetan, diikuti dengan kurungan. Bahagian 2 menandakan watak yang bukan kurungan. Asterisk () sepadan dengan sebarang bilangan kejadian dan kurungan mengekor menyimpulkan corak.

Menjalankan regex ini pada teks yang disediakan akan menghasilkan:

Array (
     [0] => [This]
     [1] => [test]
     [2] => [eat]
     [3] => [shorts]
)
Salin selepas log masuk

Menangkap Teks Di Dalam:

Sebagai alternatif, anda mungkin ingin mengekstrak teks tanpa kurungan. Ini memerlukan regex yang diubah suai:

$text = '[This] is a [test] string, [eat] my [shorts].';
preg_match_all("/\[([^\]]*)\]/", $text, $matches);
Salin selepas log masuk

Dalam regex ini, (3*) menangkap sebarang aksara dalam kurungan segi empat sama, dengan berkesan mengalih keluar kurungan daripada output. Anda akan memperoleh:

Array (
     [0] => This
     [1] => test
     [2] => eat
     [3] => shorts
)
Salin selepas log masuk

Ingat bahawa regex ini menganggap kurungan segi empat sama tidak bersarang dalam teks.


  1. ]
  2. ]
  3. ]

Atas ialah kandungan terperinci Bagaimana untuk mengekstrak teks yang disertakan dalam kurungan persegi menggunakan ungkapan biasa PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan