我想从网页中的表中获取值,并且我正在使用Simple HTML Dom库。这是我的代码看起来像:使用简单的HTML Dom库从网页获取值
include('simple_html_dom.php');
$html = file_get_html('http://www.lvbp.com/posicion.html');
$arr = array();
foreach ($html->find('tr') as $e) {
array_push($arr, $e->innertext);
}
echo '<pre>';
print_r($arr);
echo '</pre>';
for ($i = 2; $i < count($arr); $i++) {
str_replace("", "-", $arr[$i]);
print_r($arr[$i]);
}
而且我得到这个作为输出时print_r($arr)
:
Array
(
[0] => EQUIPOS J G P Vent
[1] =>
[2] => Navegantes 11 8 3 0
[3] => Tigres 11 8 3 0
[4] => Caribes 11 6 5 2
[5] => Leones 11 6 5 2
[6] => Aguilas 11 5 6 3
[7] => Tiburones 10 4 6 3.5
[8] => Cardenales 10 3 7 4.5
[9] => Bravos 11 3 8 5
)
但是,从这里我需要分别意为“纳维根特斯”,“11”,“8 “等等......对于每个阵列位置。对于我的最后一个码:
for ($i = 2; $i < count($arr); $i++) {
str_replace("", "-", $arr[$i]);
print_r($arr[$i]);
}
但它不工作,因为我得到这个结果为:
Navegantes 11 8 3 0 Tigres 11 8 3 0 Caribes 11 6 5 2 Leones 11 6 5 2 Aguilas 11 5 6 3 Tiburones 10 4 6 3.5 Cardenales 10 3 7 4.5 Bravos 11 3 8 5
什么我失踪?任何帮助?
UPDATE
这是我的代码看起来像基于建议:
include('simple_html_dom.php');
$html = file_get_html('http://www.lvbp.com/posicion.html');
$arr = array();
foreach ($html->find('tr') as $e) {
$narr = array();
foreach ($e->find('td') as $vp) {
array_push($narr, $vp->plaintext);
}
$arr[] = array($narr);
}
使用$改编[$ i] = str_replace函数( “”, “ - ”,$改编[$ i]);而不是str_replace(“”,“ - ”,$ arr [$ i]); – Subin
@Subin改变,但得到相同的结果,没有破折号( - )之间的单词 – Reynier
你是否试图将** td **的每个值作为数组获取** tr **? – Subin