首頁 > 後端開發 > php教程 > 如何使用 PHP 提取方括號中的多個文字段?

如何使用 PHP 提取方括號中的多個文字段?

Susan Sarandon
發布: 2024-12-05 07:10:14
原創
987 人瀏覽過

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

在 PHP中捕獲方括號之間的多個文本段

問題:

如何捕獲給定中方括號內的所有文本段string?

答案:

要捕捉方括號碼之間的多個文字段,請使用以下正規表示式:

/\[[^\]]*\]/
登入後複製

此正規表示式匹配任何以方括號開頭、包含任意數量的非方括號字元並以方括號結尾的字串

要提取捕獲的片段,請使用preg_match_all() 函數。此函數將正規表示式模式和目標字串作為輸入,並傳回包含所有符合項目的陣列。以下PHP 程式碼示範如何使用此正規表示式擷取多個文字段:

$text = '[This] is a [test] string, [eat] my [shorts].';
preg_match_all("/\[[^\]]*\]/", $text, $matches);
var_dump($matches[0]);
登入後複製

此程式碼產生以下輸出:

array(4) {
  [0] =>
  string(5) "[This]"
  [1] =>
  string(5) "[test]"
  [2] =>
  string(5) "[eat]"
  [3] =>
  string(7) "[shorts]"
}
登入後複製

擷取不帶括號的文字的替代方法:

要僅提取方括號內的文本,請使用以下命令正則表達式:

/\[([^\]]*)\]/
登入後複製

此正則表達式匹配以方括號開頭、包含任意數量的非方括號字元並以方括號結尾的任何字串。括號內的字元使用圓括號進行分組。

要提取不帶方括號的捕獲段,請使用第一個捕獲組,如以下PHP 代碼所示:

preg_match_all("/\[([^\]]*)\]/", $text, $matches);
var_dump($matches[1]);
登入後複製

此代碼產生以下輸出:

array(4) {
  [0] =>
  string(4) "This"
  [1] =>
  string(4) "test"
  [2] =>
  string(3) "eat"
  [3] =>
  string(6) "shorts"
}
登入後複製

以上是如何使用 PHP 提取方括號中的多個文字段?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板