Php 查找具有正则表达式的字符串

2022-08-30 14:17:10

我已经阅读了多个关于正则表达式的教程,但它不会留在我的脑海中。我永远无法让我的模式发挥作用。希望有人能帮忙。

我有一个php变量($content),我需要找到一个看起来像这样的特定模式

[图库::名称/的/的/文件夹/]

我想搜索:

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

到目前为止,在PHP中,我有:

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

我可以找到[画廊:但仅此而已。我希望能够找到其余的(:name/of/the/folder/])

任何帮助是值得赞赏的!谢谢!


答案 1

尝试捕获它:

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

现在是一个数组:$m

0 => [gallery::/name/of/the/folder/]
1 => /name/of/the/folder/

答案 2

将正则表达式更改为

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

由于我将文件夹/路径部分放在括号中,因此您应该从中获取捕获组。


推荐