正则表达式,用于查找PHP的标记组

时间:2016-05-26 14:37:41

标签: php regex

请帮我写正则表达式来查找标签组

输出

[et_pb_...] [tag] [/et_pb_...]

(点任何文字)如果它在

之类的其他标签内

输入

[et_pb_row][et_pb_columntype="1_2"]

[et_pb_codeadmin_label="Code"] [tag] [/et_pb_code]

[/et_pb_column]
[/et_pb_row]

其他输入

[et_pb_section fullwidth="on" specialty="off"]
[et_pb_fullwidth_code admin_label="Fullwidth Code"]
[tag]
[/et_pb_fullwidth_code]
[/et_pb_section]

只有3件事情一直相同

[et_pb _ ...可以是此处的任何文字]

[标签]

[/ et_pb _ ...可以是此处的任何文字]

我有这个

[et_pb_section fullwidth="on" specialty="off"]
[et_pb_fullwidth_code admin_label="Fullwidth Code"]
[tag]
[/et_pb_fullwidth_code]
[/et_pb_section]

我只需要这个

[et_pb_fullwidth_code admin_label="Fullwidth Code"][tag][/et_pb_fullwidth_code]

UPDT 我得到了它的工作 DEMO

1 个答案:

答案 0 :(得分:0)

你可以使用类似的东西:

preg_match_all('%(?:\[et_pb_.*?\]){2}\s+(\[et_pb_.*?\] \[tag\] \[/et_pb_.*?\])\s+(\[/et_pb_.*?\])%i', $subject, $result, PREG_PATTERN_ORDER);
echo $result[1][0];

DEMO