<span> 
<p>内容1</p> 
<p align="center">内容2</p> 
<p style="text-align: center" align="left">内容3</p> 
</span> 
问用php把<p***>删除,并且把</p>变成<br />,需要连<>一起处理。完成后应该是 
<span> 
内容1<br/> 
内容2<br/> 
内容3<br/> 
</span>
自己写的正则不能把<>删掉不知道怎么回事,请教一下高手

解决方案 »

  1.   

    preg_replace('/^<p*>(.*)(<\/p>)?$/Ui','$1<br\/>',$patern);
      

  2.   

    //未经测试
    preg_replace(array('/<p.*>/i','/<\/p>/i'),array('','<br\/>'),$string)
      

  3.   

    $str = "<span>
    <p>内容1</p>
    <p align=\"center\">内容2</p>
    <p style=\"text-align: center\" align=\"left\">内容3</p>
    </span> ";
    //自己稍微查下正则的高级用法吧 你匹配不出来估计是对正则贪婪模式不理解
    echo preg_replace('/<p.*?>(.*)<\/p>/i','\\1<br />',$str);