使用正则表达式将多个标签组合到单个标签中

时间:2013-07-06 08:43:55

标签: php html regex

我知道我不应该使用正则表达式解析HTML,但我无法控制源HTML。

我有一行html,其中包含许多代表像素的<i>标记。

<i></i><i></i><i></i><i></i><i></i><i class=cfefefe></i>

我的问题是找到计数并更换标签

如何构建正则表达式来查找和计算没有类<i></i>

的标签

理想情况下,我想要一个数组来显示连接空<i>标记的数量:

Array
(
    [0] => 5      //<i></i><i></i><i></i><i></i><i></i>
    [1] => 3      //<i></i><i></i><i></i>
    [2] => 8720   //etc etc
    [3] => 14
    [4] => 320
)

1 个答案:

答案 0 :(得分:0)

尝试:

var your_line = "<i></i><i></i><i></i><i></i><i></i><i class=cfefefe></i>";

var result_set = your_line.match(/<i><\/i>/g);

示例:

> your_line.match(/<i><\/i>/g)
["<i></i>", "<i></i>", "<i></i>", "<i></i>", "<i></i>"]

将后续<i></i>匹配:

> your_line.match(/(<i><\/i>)+/g)
["<i></i><i></i><i></i><i></i><i></i>"]