我有一點匹配表中的行與預浸麻煩。這裏是我的表達:(包括所有的符號)
<TR[a-z\=\"a-z0-9 ]*>([\{\}\(\)\^\=\$\&\.\_\%\#\!\@\=\<\>\:\;\,\~\`\'\*\?\/\+\|\[\]\|\-a-zA-Z0-9À-ÿ\n\r ]*)<\/TR>
正如你所看到的,它試圖馬赫一切都在兩者之間TR標記,部分有多個表中的行打交道時的偉大工程,但是,往往需要多個錶行作爲一個匹配,而不是匹配每個錶行:
<TR>
<TD>test</TD>
</TR>
<TR>
<TD>test2</TD>
</TR>
產量:
Array
(
[0] => <TD>test</TD>
<TD>test2</TD>
)
而不是我希望它:
Array
(
[0] => <TD>test</TD>
[1] => <TD>test2</TD>
)
我意識到這樣做的原因是因爲它符合符號,並且搜索自然需要其餘的行,直到它碰到最後一個。
所以基本上,我想知道是否有人可以幫助我添加表達式,以便在TR標籤之間排除任何帶有「TR」的內容,以防止它匹配多行。
*(相關)* [最佳解析方法](http://stackoverflow.com/questions/3577641/best-methods-to-parse-html/3577662#3577662) – Gordon
您有選擇使用一個PHP的HTML解析器,而不是正則表達式? – Chandu
而不是手動任何:有PHP的現成的HTML表提取庫。 – mario