PHP正则分段问题求救

xixilvlv 发布于 2014/04/17 18:17
阅读 174
收藏 0

用正则分段 字符串:

<h1>一、个人总结</h1> <p>个人总结:</p> <h2>1.学习</h2> <p>学习。。。</p> <h2>2.工作</h2> <p>工作。。。</p> <h1>二、生活总结</h1> <p>生活目录:</p> <h2>1.情感1</h2> <p>情感内容。。。</p> <h2>2.情感2</h2> <p>情感2。。。</p>
如题上面字符串,想把他分段存入数组。 正则怎么写? 求救。。。。

array (

    array ('0' => '<h1>一、个人总结</h1>', '1' => '<p>个人总结:</p>'),

    array('0' => '<h2>1.学习</h2>', '1' => '<p>学习。。。</p>'),

    array('0' => '<h2>2.工作</h2>', '1' => '<p>工作。。。</p>'),

    array('0' => '<h1>二、生活总结</h1>', '1' => '<p>生活目录:...</p>'),

    ...

)

加载中
0
我擦_得弄个昵称
我擦_得弄个昵称

String[] s = string.split("(?<=\</.*?\>)\s*?(?=\<.*?\>)");

从 左边是 </XXX>, 右边是<XXX>的位置切割.

剩余的, 你会了吧


我擦_得弄个昵称
我擦_得弄个昵称
回复 @xixilvlv : 多组应该也支持吧
x
xixilvlv
当<p></p>多组出现呢?
0
CloudArchitect
CloudArchitect

(?<=<h\d>)(.+?)(?=</h\d>).*?(?:<p>)(.+?)(?=</p>)

CloudArchitect
CloudArchitect
回复 @xixilvlv : <(h\d|p)>(.*?)</\1>
x
xixilvlv
里面的<p></p> 不是一组哦, 是有用户输入的,很可能很多组,这方法好像不行。
返回顶部
顶部