简单正则问题

u013103952 2014-01-04 06:32:24

<?php
$str = '[div]a[div]c[/div][/div]';
preg_match_all("/\[div.*](.*)?\[\/div]/isU", $str, $block_arr, PREG_SET_ORDER);
print_r($block_arr);

?>


运行结果



Array
(
[0] => Array
(
[0] => [div]a[div]c[/div]
[1] => a[div]c
)

)


期望结果:



Array
(
[0] => Array
(
[0] => [div]a[div]c[/div][/div]
[1] => a[div]c[/div]
)
[1] => Array
(
[0] => [div]c[/div]
[1] => c
)

)


请问怎么修改正则?谢谢
...全文
109 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2014-01-05
  • 打赏
  • 举报
回复
$str = '[div]a[div]c[/div][/div]';
$p = "/\[div[^]]*\]([^[\]]|((?R))*)\[\/div\]/is";

preg_match_all($p, $str, $block_arr);
print_r($block_arr);
Array ( [0] => Array ( [0] => [div]c[/div] ) [1] => Array ( [0] => c ) [2] => Array ( [0] => ) )

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧