在PHP 中提取方括號內的文本
在PHP 中捕獲方括號之間的文本的挑戰需要採取細緻入微的方法。使用 /[.*?]/ 作為正規表示式的常見嘗試僅檢索第一個實例,導致結果不完整。
捕捉外殼:
要克服此限制,請使用將整個文字包含在方括號內的正規表示式。考慮以下模式:
$text = '[This] is a [test] string, [eat] my [shorts].'; preg_match_all("/\[[^\]]*\]/", $text, $matches);
這裡, /[1]/ 用作正則表達式,對應於方字符號中包含的任何括號中包含的任何括號串。插入符號 (^) 與字串的開頭匹配,後面跟著括號。 2 部分錶示不是括號的字元。星號 () 匹配任意數量的出現,尾部括號結束此模式。
在提供的文字上執行此正規表示式將導致:
Array ( [0] => [This] [1] => [test] [2] => [eat] [3] => [shorts] )
捕捉內部文字:
或者,您可能希望提取內部文字:
$text = '[This] is a [test] string, [eat] my [shorts].'; preg_match_all("/\[([^\]]*)\]/", $text, $matches);
或者,您可能希望提取內部文字:或者,您可能希望擷取文字而不使用括號。這需要修改正規表示式:
Array ( [0] => This [1] => test [2] => eat [3] => shorts )
以上是如何使用 PHP 正規表示式擷取方括號中的文字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!