我似乎無法在PHP中獲得正則表達式的竅門。具體來說,組捕捉部分。PHP Preg匹配捕獲組
我有一個字符串,它看起來像這樣
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="List">
<tr class='row_type_1'>
<td class="time">
3:45 pm
</td>
<td class="name">
Kira
</td>
</tr>
<tr class='row_type_2'>
<td class="time">
4:00 pm
</td>
<td class="name">
Near
</td>
</tr>
</table>
而且我希望我的陣列看起來像這樣
Array
(
[0] => Array
(
[0] => 3:45 pm
[1] => Kira
)
[1] => Array
(
[0] => 4:00 pm
[1] => Near
)
)
我只想使用的preg_match,而不是爆炸,array_keys或循環。花了我一段時間才發現我需要a/s來計算換行符;我非常渴望看到模式和捕捉語法。
編輯:該模式只需要像(row_type_1 | row_type_2)這樣的東西來捕獲我想要數據的表中只有兩種類型的行。例如,在row_type_2之後是row_type_3,後面是row_type_1,那麼row_type_3將被忽略,數組只會添加row_type_1中的數據,如下所示。
Array
(
[0] => Array
(
[0] => 3:45 pm
[1] => Kira
)
[1] => Array
(
[0] => 4:00 pm
[1] => Near
)
[2] => Array
(
[0] => 5:00 pm
[1] => L
)
)
決不正則表達式處理HTML,使用DOM解析器來代替。 – erenon
你能說明原因嗎? –
@SatbirKira:因爲你不會說得對。如果對標記稍作修改,你的正則表達式將被打破。使用HTML解析器。 –