我有一点匹配表中的行与预浸麻烦。这里是我的表达:(包括所有的符号)
<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