我是php的初学者,特别是正则表达式的东西,所以我要做的是从其他标签中获取内容
<td>
<br>(content)<br>
</td>
到目前为止我所做的是将数据放入数组块
include_once('simple_html_dom.php');
$url = '(url_here)';
$htmlstr = str_get_html(file_get_contents($url));
$matches1 = [];
preg_match_all("'<td>(.*?)(</td>|</<td>)'si", $htmlstr, $matches1);
$data1 = array_chunk($matches1[0], 6, FALSE);
但是问题出现在带有td标签的某些行中我得到了像这样的标签内容
如何检测这些内部标记,如何获取该内容并将其移动到其他标记内容空间?
以下是我在某些行link_here
中面临的一个例子答案 0 :(得分:1)
不要将正则表达式用于HTML since there is no and will never be a 100% working solution。
使用HTML解析器,例如内置的(DOMDocument)或用户贡献的(如PHP-HTML-Parser)
使用DOMDocument时,您可以选择您想要的类似javascript的标签:
$dom = new DOMDocument();
$dom->loadHTML($yourHTML);
$tds = $dom->getElementsByTagName('td');