使用简单 HTML DOM 解析器从 HTML 文档中的所有 <a> 标签生成 href 字符串数组

问题描述 投票:0回答:6

我想用从这个 foreach 获得的链接填充一个数组。我怎样才能做到这一点?

foreach($html->find('a') as $link) {
       echo $link->href; //output: link1.html link2.html link3.html......
}
php arrays foreach html-parsing simple-html-dom
6个回答
1
投票

我想说 array_map() 是最好的方法:

$links = array_map(function($link) { return $link->href; }, $html->find('a'));

它获取给定数组中的所有内容(在本例中为

$html->find('a')
),并使用您提供的函数基于映射返回一个新数组(在本例中为
function($link) { return $link->href; }
)。它将该函数应用于给定数组中的每个元素,以创建返回数组中的每个元素。


1
投票

您所需要的只是

$links = array_map(function($v){return $v->href;}, $html->find('a'));

0
投票

很简单,试试这个:-

$dataArray = array();
foreach($html->find('a') as $link) {
       $dataArray[] = $link->href; 
}

echo '<pre>';
print_r($dataArray);
 echo '</pre>';

0
投票

array_push
。请参阅此链接

<?php
$stack = array();
foreach($html->find('a') as $link) {
   array_push($stack, $link->href); 
}
print_r($stack);
?>

0
投票

将其放入循环中: $links[]=$link->href;


0
投票
$hrefs=array();
foreach($html->find('a') as $link) {
       $hrefs[]= $link->href; //output: link1.html link2.html link3.html......
}

应该可以了。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.