Я пытаюсь получить N-й экземпляр элемента с помощью DOM-парсера, в данном случае первый элемент 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>
Я пытаюсь захватить только 1-й экземпляр и повторить его.
хорошо, я понял это
изменено
foreach($html->find('div[class=copy]', 0) as $element)
в
$element = $html->find('div[class=copy]', 0);
Других решений пока нет …