我已经发布了这个帖子,但从来没有很好地解释过,所以我删除了它并重写了它。
我的php脚本向一个网站发送一个cURL请求,然后输出一个HTML表格,然后我会使用那个包含7个TR元素的表格,每个TR元素中都有6个TD元素。
这意味着HTML表在技术上已经在页面上编码,我想要做的是将每个TR拆分成一个单独的PHP数组,TD可以通过该键访问。
例如:
Table
-- tr1
----td
----td
----td
----td
----td
----td
-- tr2
----td
----td
----td
----td
----td
----td
然后我就能做到:
echo $TRArray[1][3]
那将回显'td',因为这是第一个TR阵列上第二个TD元素的值
我不确定我是否能很好地解释这一点,但这就是我想要做的事情
任何帮助将不胜感激!
答案 0 :(得分:2)
确保你的php启用了php-dom:
$export = array();
$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML($html);
libxml_clear_errors();
$xpath = new DOMXPath($dom);
$tr_no = 0;
foreach( $xpath->evaluate('//tr') as $sel ){
$export[$tr_no] = array();
$td_no = 0;
foreach( $sel->childNodes as $td ){
if( strtolower( $td->tagName ) == 'td' ){
$innerHTML = '';
foreach ($td->childNodes as $child){
$innerHTML .= $td->ownerDocument->saveHTML($child);
}
$export[$tr_no][$td_no] = $innerHTML;
$td_no++;
}
}
$tr_no++;
}
var_dump( $export );