使用PHP正则表达式将内容中的多个短代码分组
我在内容中有多个短代码,如下所示:使用PHP正则表达式将内容中的多个短代码分组,php,regex,wordpress,shortcode,Php,Regex,Wordpress,Shortcode,我在内容中有多个短代码,如下所示: [mygroup group-name-1] [file* field-name-134 limit:200] [mygroup group-name-2] [file* field-name-135 limit:200] [/mygroup] [/mygroup] 我需要帮助捕获整个组和使用php正则表达式的内容 预期结果: [mygroup group-
[mygroup group-name-1]
[file* field-name-134 limit:200]
[mygroup group-name-2]
[file* field-name-135 limit:200]
[/mygroup]
[/mygroup]
我需要帮助捕获整个组和使用php正则表达式的内容
预期结果:
[mygroup group-name-1]
[file* field-name-134 limit:200]
[/mygroup]
[mygroup group-name-2]
[file* field-name-135 limit:200]
[/mygroup]
我有下面的正则表达式preg\u match\u all('/\\[mygroup+(.*?\\]/',$shortcode,$matches)
,但它只捕获组标记及其名称
$matches结果:
Array
(
[0] => Array
(
[0] => [mygroup group-name-1]
[1] => [mygroup group-name-2]
)
[1] => Array
(
[0] => group-name-1
[1] => group-name-2
)
)
我也尝试过使用这种模式,但它与任何东西都不匹配。您还需要将
文件签入您的正则表达式中。像这样的东西会让你更接近:
preg_match_all('/\\[mygroup +([^]]+?)\\]\s*\\[(file\\*[^]]+?)\]/', '[mygroup group-name-1]
[file* field-name-134 limit:200]
[mygroup group-name-2]
[file* field-name-135 limit:200]
[/mygroup]
[/mygroup]', $matches);
然后,您可以对组
和文件
值使用索引1和索引2
PHP演示:
如果您对正则表达式的更改有任何疑问,请发表评论,可以在此处查看相关说明