2016-06-24 115 views
0

我使用了下面的一小段代码来查找页面上的所有链接(home.php)并将它们作为URL回显。它工作正常,但我如何将结果传递给一个新的变量?如果我创建一个新变量:将foreach循环中的所有结果传递给一个新变量

$myvariable ="$element->href"; 

这只能回应很多人的最后结果。

// Create DOM from URL or file 
$html = file_get_html('http://www.somewebsite.xxx/include/home.php'); 

foreach($html->find('a') as $element) 
     echo $element->href . '<br>'; 
+0

谢谢你们。作品。 – runein

+0

我有。理想情况下,我应该将所有3个标记为答案。再次感谢。 – runein

回答

0

连接具有一个String Operator

$myvar = ''; 
foreach($html->find('a') as $element) { 
     $myvar .= $element->href . '<br>'; 
} 

或者使用Array

foreach($html->find('a') as $element) { 
     $myvar[] = $element->href; // removed <br> for implode, you can add it back 
} 
// if you want the array as one string 
$myvar = implode('<br>', $myvar); 
0

使用的array

// Create DOM from URL or file 
$html = file_get_html('http://www.somewebsite.xxx/include/home.php'); 

$urls = array(); 

foreach($html->find('a') as $element) { 
    $urls[] = $element->href; 
} 

print_r($urls); 
0

你可以使用一个数组保持问题中该页面的所有链接的值。在最后,数组是你正在寻找的变量。这里是如何:

<?php 
     //USE THE HTML DOM PARSER TO PARSE ALL THE HTML DATA ON THE PAGE: $page 
     $page = 'http://www.somewebsite.xxx/include/home.php'; 
     $html = file_get_html($page); 


     // LOOPING THROUGH THE DOM ELEMENTS SELECT ONLY THE <a> TAGS 
     // AND BUNDLE THEM INTO AN ARRAY... 
     // THE ARRAY NOW FORMS THE VARIABLE YOU HAD EXPECTED TO CREATE.. 
     $arrAnchors  = array(); // INITIALIZE $arrAnchors TO AN EMPTY ARRAY... 
     foreach($html->find('a') as $element) { 
      // PUSH ALL THE ANCHOR'S HREF ATTRIBUTES (URLs) INTO THE $arrAnchors ARRAY 
      $arrAnchors[] = $element->href . '<br>'; 
     } 

     // NOW TRY TO DUMP THE CONTENT OF YOUR $arrAnchors.... 
     var_dump($arrAnchors); // DISPLAYS A NUMERICALLY INDEXED ARRAY OF LINKS ON THE PAGE: $page 
相关问题