我试图使用DOM解析器来获取元素的第N个实例,在这种情况下是第一个DIV CLASS元素并且只回显它。我收到错误提示:"数组到字符串转换"。我已尝试使用implode函数加入它并使其成为一个字符串,但似乎没有任何工作。我究竟做错了什么?在http://code.tutsplus.com/tutorials/html-parsing-and-screen-scraping-with-the-simple-html-dom-library--net-11856找到了这些函数,但是得不到相同的结果。
function my_function($str) {
require_once 'libs/simple_html_dom.php';
$html = file_get_html($str);
foreach($html->find('div[class=copy]', 0) as $element){
$patterns = array();
$patterns[0] = 'some';
$patterns[1] = 'cool';
$replacements = array();
$replacements[0] = 'really';
$replacements[1] = 'super';
$replacements[3] = ' ';ksort($patterns);ksort($replacements);
echo str_replace($patterns, $replacements, $element);
}
}
问题出在这里
foreach($html->find('div[class=copy]', 0) as $element)
标记
<div class="copy">somecooltext1</div>
<div class="copy">somecooltext2</div>
<div class="copy">somecooltext3</div>
<div class="copy">somecooltext4</div>
<div class="copy">somecooltext5</div>
我试图仅捕获第一个实例并回显它。
答案 0 :(得分:0)
好吧我明白了
改变
foreach($html->find('div[class=copy]', 0) as $element)
到
$element = $html->find('div[class=copy]', 0);