日期:2014-05-17  浏览次数:20383 次

一个字符串难题~
本帖最后由 xjl756425616 于 2013-03-06 14:34:05 编辑
<?php
$a="<fieldset>1<fieldset>2<fieldset>3<fieldset>4</fieldset></fieldset></fieldset></fieldset>";
echo $a;
?>


最终结果要变成

$a="<fieldset>1<fieldset>2<fieldset>4</fieldset></fieldset></fieldset>";


把第3个去掉~~~

怎么做的?

------解决方案--------------------

$a="<fieldset>1<fieldset>2<fieldset>3<fieldset>4</fieldset></fieldset></fieldset></fieldset>";
$aa=preg_replace("/((<fieldset>[^<]+){2})(<fieldset>[^<]+((<fieldset>[^<]+<\/fieldset>)*)<\/fieldset>)((<\/fieldset>){2})/isU", "\\1\\4\\6", $a);
echo $aa;


是不是这样
{}里的数字可以改,想这里写2是因为第三个<fieldset>前有两个<fieldset>
确实不轻松  楼主给分哈