簡體   English   中英

用於獲取php中字符串中[]之間內容的正則表達式

[英]regular expression for getting the content between [ ] in string in php

我需要輸出 [] 之間的字符串。 例如我需要這個回聲,沒有人顯示。 但我得到的結果是:[this-echo] 大家好 [沒人]。

$txt = 'Hello World [this-echo] Hello Everybody [nobody]';
$regExp = '/\[([^)]+)\]/';
$match = preg_match("/\[(.*)\]/s", $txt, $output);

嘗試這個

preg_match_all('/\[(.*?)\]/', $txt, $out);
print_r($out[1]);

得到

Array ( [0] => this-echo [1] => nobody )

您沒有排除結束方括號,而是排除了字符類中的結束圓括號: [^)]這就是為什么模式不會在第一個結束方括號處停止並到達字符串的最后一個的原因。

你只需要用[^]]替換它並使用preg_match_all來獲得幾個結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM