比方说,我有这样的输入:应用PHP正则表达式替换多行的重复模式
I can haz a listz0rs!
# 42
# 126
I can haz another list plox?
# Hello, world!
# Welcome!
我想分割它,这样每组散列开始行变成一个列表:
I can haz a listz0rs!
<ul>
<li>42</li>
<li>126</li>
</ul>
I can haz another list plox?
<ul>
<li>Hello, world!</li>
<li>Welcome!</li>
</ul>
如果我跑对正则表达式中输入 “(。*)/(???:(:(< = ^#)$)+)/ M”,我得到以下结果:
Array
(
[0] => Array
(
[0] => 42
)
[1] => Array
(
[0] => 126
)
[2] => Array
(
[0] => Hello, world!
)
[3] => Array
(
[0] => Welcome!
)
)
这很好,很花哨,但它没有区分两个不同的列表。我需要一种方法来让量词返回所有出现的连接字符串,或者理想情况下是所有出现的数组。
理想的情况下,这应该是我的输出:
Array
(
[0] => Array
(
[0] => 42
[1] => 126
)
[1] => Array
(
[0] => Hello, world!
[1] => Welcome!
)
)
是否有实现这一目标的任何方式,如果没有,是否有一个密切的选择吗?
我想过这样做,但问题是,你不能量化行,所以当你把它们包装在ul标签中时,你将包装*每行*而不是整个集合。 – Hussain 2010-05-01 04:55:11
使用多行正则表达式,您可以一次匹配多行。你只需要匹配它们之间的空格换行符。 – Amber 2010-05-01 19:54:12