Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mengekstrak Berbilang Segmen Teks yang Dilampirkan dalam Kurungan Persegi menggunakan PHP?

Bagaimana untuk Mengekstrak Berbilang Segmen Teks yang Dilampirkan dalam Kurungan Persegi menggunakan PHP?

Susan Sarandon
Lepaskan: 2024-12-05 07:10:14
asal
980 orang telah melayarinya

How to Extract Multiple Text Segments Enclosed in Square Brackets using PHP?

Menangkap Berbilang Segmen Teks Antara Kurungan Segi Empat dalam PHP

Soalan:

Cara menangkap semua segmen teks yang disertakan dalam kurungan segi empat sama dalam sesuatu yang diberikan rentetan?

Jawapan:

Untuk menangkap berbilang segmen teks antara kurungan segi empat sama, gunakan ungkapan biasa berikut:

/\[[^\]]*\]/
Salin selepas log masuk

Reeks reg ini sepadan dengan mana-mana rentetan yang bermula dengan kurungan segi empat sama, mengandungi sebarang bilangan aksara bukan kurungan segi empat sama, dan berakhir dengan segi empat sama. kurungan.

Untuk mengekstrak segmen yang ditangkap, gunakan fungsi preg_match_all(). Fungsi ini mengambil corak regex dan rentetan sasaran sebagai input dan mengembalikan tatasusunan yang mengandungi semua padanan. Kod PHP berikut menunjukkan cara untuk menangkap berbilang segmen teks menggunakan regex ini:

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

Kod ini menghasilkan output berikut:

array(4) {
  [0] =>
  string(5) "[This]"
  [1] =>
  string(5) "[test]"
  [2] =>
  string(5) "[eat]"
  [3] =>
  string(7) "[shorts]"
}
Salin selepas log masuk

Alternatif untuk Mengekstrak Teks tanpa Kurungan:

Untuk mengeluarkan hanya teks dalam kurungan segi empat sama, gunakan yang berikut regex:

/\[([^\]]*)\]/
Salin selepas log masuk

regex ini sepadan dengan mana-mana rentetan yang bermula dengan kurungan segi empat sama, mengandungi sebarang bilangan aksara bukan kurungan segi empat sama dan berakhir dengan kurungan segi empat sama. Aksara dalam kurungan dikumpulkan menggunakan kurungan.

Untuk mengekstrak segmen yang ditangkap tanpa kurungan segi empat sama, gunakan kumpulan tangkapan pertama, seperti yang ditunjukkan dalam kod PHP berikut:

preg_match_all("/\[([^\]]*)\]/", $text, $matches);
var_dump($matches[1]);
Salin selepas log masuk

Kod ini menghasilkan output berikut:

array(4) {
  [0] =>
  string(4) "This"
  [1] =>
  string(4) "test"
  [2] =>
  string(3) "eat"
  [3] =>
  string(6) "shorts"
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Berbilang Segmen Teks yang Dilampirkan dalam Kurungan Persegi menggunakan 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