大括弧で囲まれた2つのグループの間にテキストをキャプチャする方法が必要です。 だから、たとえば、次の文字列:PHPで2つの大括弧で囲まれたテキストをキャプチャする
test test [foo] bar [/foo] test
私は出力「バー」する必要がありますが、「バー」は可変単語
どのように私は私が必要とする出力を得ることができますか?多分これだけで表現して
大括弧で囲まれた2つのグループの間にテキストをキャプチャする方法が必要です。 だから、たとえば、次の文字列:PHPで2つの大括弧で囲まれたテキストをキャプチャする
test test [foo] bar [/foo] test
私は出力「バー」する必要がありますが、「バー」は可変単語
どのように私は私が必要とする出力を得ることができますか?多分これだけで表現して
:
preg_match('/\](.*)\[/', 'test test [foo] bar [/foo] test', $match);
echo trim($match[1]);
preg_match('/\[([^\]]+)\](.*?)\[\/\1\]/', $text)
それが終了タグだと最初の角括弧のタグに一致するように後方参照を使用しました。同じタグを入れ子にしたり、ネストされたタグをプレーンテキスト以外のものとして扱いたい場合は、これは機能しません。
これは私が必要としていたとおりに動作します!ありがとうございました! – guilhermeafonso