我已经阅读了有关正则表达式的多个教程,但它不会留在我脑海中。我永远无法让我的模式发挥作用。希望有人可以提供帮助。
我有一个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 /))
任何帮助表示赞赏! 谢谢!
答案 0 :(得分:29)
尝试捕获它:
preg_match("/\[gallery::(.*?)]/",$content,$m);
现在$m
是一个数组:
0 => [gallery::/name/of/the/folder/]
1 => /name/of/the/folder/
答案 1 :(得分:2)
将正则表达式更改为
'/\[gallery::([A-Za-z\/]+)\]/'
由于我将文件夹/路径部分放在括号中,您应该从中获取一个捕获组。
答案 2 :(得分:-1)
if (preg_match("/\bweb\b/i", "PHP is the web scripting language of choice.")) {
echo "A match was found.";
} else {
echo "A match was not found.";
}