我有这段代码
<?php
require_once('/simplehtmldom_1_5/simple_html_dom.php');
// Create DOM from URL or file
$html = str_get_html('<html><body><a href="http://www.google.com/">Google</a><br /><a href="http://www.bing.com/">Bing</a></body></html>');
// Find all links
$element = $html->find('a');
print_r($element);
?>
从加载的html中,它包含2个'a'元素,即:
那么,我应该期望print_r($ element)应该是一个包含这两个数组的数组,而是打印一个相当超级的原始数组。
我需要更改以获得这些输出吗?请注意,数组的内容应为字符串
Array
(
[0] => http://www.google.com/
[1] => http://www.bing.com/
)
提前致谢并获得更多权力。
答案 0 :(得分:1)
print_r($html->find('a'))
或print_r($element)
为您提供了两个节点的数组,但它非常复杂。此外,它包含对象,因此您可以获取href属性值并将其存储在数组中。
这有效:
<?php
require_once('/simplehtmldom_1_5/simple_html_dom.php');
// Create DOM from URL or file
$html = str_get_html('<html><body><a href="http://www.google.com/">Google</a><br /><a href="http://www.bing.com/">Bing</a></body></html>');
$output = array();
foreach($html->find('a') as $element)
$output[] = $element->href;
echo '<pre>' . print_r($output, TRUE) . '</pre>'; // echo output array as preformatted text
?>
输出:
Array
(
[0] => http://www.google.com/
[1] => http://www.bing.com/
)