你会如何编写一个正则表达式来解析样式标签和可变数量的跨度

时间:2017-09-22 02:31:17

标签: php html regex

我需要编写一个正则表达式来解析样式标记(顶部和左侧位置以及span id)和可变数量的跨度。我正在使用pcre(php)。我的示例文本由包含1,2和3跨度的文本组成,如下所示:

<div class="txt" style="position:absolute; left:141px; top:159px;"><span id="f4" style="font-size:11px;vertical-align:baseline;color:#e5e5e5;">Sam</span></div>

<div class="txt" style="position:absolute; left:170px; top:170px;"><span id="f46" style="font-size:10px;vertical-align:baseline;color:#000000;">Sam</span><span id="f43" style="font-size:2px;vertical-align:baseline;color:#000000;">Bill</span></div>

<div class="txt" style="position:absolute; left:170px; top:170px;"><span id="f46" style="font-size:10px;vertical-align:baseline;color:#000000;">Bill</span><span id="f43" style="font-size:2px;vertical-align:baseline;color:#000000;">Jane</span><span id="f46" style="font-size:10px;vertical-align:baseline;color:#000000;">Jim</span></div>

我希望输出看起来像:

文字1: 1:141 2:159 3:f4 4:山姆

文字2: 1:170 2:170 3:f46 4:山姆 5:f43 6:比尔

文字3: 1:170 2:170 3:f46 4:山姆 5:f43 6:比尔 7:f46 8:吉姆

我在Regex101上有一个沙箱:Regex Sandbox

当编写这样的表达式时,可以使用可以重复一次或多次的单个跨度部分,还是必须为每个跨度进行一对一的匹配?

0 个答案:

没有答案