我正在返回HTML文件的内容,如下所示:
<irrelevant things>
<tr id="myid">
<td>Content</td>
</tr>
<irrelevant things again>
或:
<irrelevant things>
<tr id="myid">
<td><a href="somewhere.com">Content</a></td>
</tr>
<irrelevant things again>
只有一个正则表达式的两种情况都可以只获得“内容”吗?
我尝试了这个但没有任何结果:
preg_match('/<tr id="myid"><td>(<a href="[^\"]*">)?([^<]*)/', $html, $mycontent);
由于
答案 0 :(得分:4)
正则表达式不是最好的方式,因为你有一个id (“myid”),你可以使用DOMDocument
轻松完成。例如:
$doc = new DOMDocument();
@$doc->loadHTML($yourstring);
$node = $doc->getElementById('myid');
echo trim($node->textContent);
答案 1 :(得分:1)