<tr id='ieconn3' >
<td><table width='100%'><tr><td valign='top'><table width='100%'><tr><td>aaaaa
<br> </td></tr><tr><td>
我希望aaaaa
部分到<br>
或</td>
。我尝试了很多模式,但没有工作。有什么帮助吗?
答案 0 :(得分:0)
您不应该尝试使用正则表达式来解析HTML,因为HTML不是常规语言,因此无法使用正则表达式进行描述。改为使用正确的HTML解析器。
如果您使用的是XHTML,则可以使用SimpleXML将其解析为XML并使用SimpleXMLElement::xpath进行查询。对于HTML文档,您可以使用Simple HTML DOM Parser。 DOMDocument甚至可以同时处理XHTML和HTML。
答案 1 :(得分:0)
正如Gumbo所指出的,如果你坚持使用正则表达式,这只会导致巨大的混乱。但是,如果你确定HTML没有机会,那么这个就可以了:
/<tr><td>(.*)<\/td><\/tr>/
像这样使用:
$string = "<tr id='ieconn3' >
<td><table width='100%'><tr><td valign='top'><table width='100%'><tr><td>aaaaa<br> </td></tr><tr><td>";
$matches = array();
preg_match("/<tr><td>(.*)<\\/td><\\/tr>/", $string, $matches);
print($matches[1]);