我有一个包含HTML的巨大字符串。此字符串大部分是可变的。唯一可以确定的是,它以<table ... >
开头,以</table>
结尾。表格参数(边框,样式,id,类等)也有所不同。
我一直试图做的是匹配第一个和最后一个表标签之间的所有内容。但是,我似乎完全失败了。
我最近的尝试是以下正则表达式:
preg_match_all('~<table(.*?)>(.*?)<\/table>~is', $contents, $match);
正则表达式应在其中使用的一部分伪代码:
<!-- ID: 123445 -->
<table border="1" id="id_123445" class="en_15_c01">
<tr>
<td>
<table class="c03_d11">
<tr>
<td>One</td>
<td><span>Two</span</td>
</tr>
<tr>
<td>One</td>
<td><span>Two</span</td>
</tr>
</table>
</td>
<td>
<div id="blue_12">
Some text...
</div>
</td>
</tr>
<tr>
<td><a href="#">Click</a></td>
<td>
<div>
<table>
<tr>
<td>1</td>
<td>2</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<span class="sp_03">
<!-- Some more html -->
</span>
<script type="text/javascript" src="bla.js" /></script>