31

正規表現に関する複数のチュートリアルを読みましたが、頭に残りません。自分のパターンを機能させることができません。誰かが助けてくれることを願っています。

このような特定のパターンを見つける必要がある php 変数 ($content) があります。

[gallery::name/of/the/folder/]

検索したい:

- starting with "[gallery::"
- any other character (variable length)
- ending with "]"

これまでのところ、PHP には次のようなものがあります。

   preg_match('/\[gallery\:/', $content, $matches, PREG_OFFSET_CAPTURE);

[gallery:] を見つけることができますが、それだけです。残りを見つけられるようにしたい (:name/of/the/folder/])

どんな助けでも大歓迎です!ありがとう!

4

2 に答える 2

45

それをキャプチャしてみてください:

preg_match("/\[gallery::(.*?)]/", $content, $m);

$mは配列です:

0 => [gallery::/name/of/the/folder/]
1 => /name/of/the/folder/
于 2012-04-13T14:27:44.827 に答える
2

正規表現をに変更します

'/\[gallery::([A-Za-z\/]+)\]/'

フォルダ/パスの部分を括弧に入れたので、そこからキャプチャ グループを取得する必要があります。

于 2012-04-13T14:27:56.840 に答える