Как заменить все теги ul и li на div с помощью PHP Simple HTML DOM Parser?
Хорошо, я хочу создать "мобилизатор веб-сайтов" с помощью PHP Simple HTML DOM Parser. На данном этапе я хочу
- измените все теги 'ul' и 'li' на тег 'div' и
- измените все элементы таблицы (например, table,tr,td,th) на div. Я попытался обойти первую проблему следующим образом:
,
$html=new new simple_html_dom();
$html>load_file($sourceurl);
$div="div";
foreach ($html->find('ul') as $element) {
$element=$div;
}
Это кажется скучным, но я не могу найти другого решения. Я не одобряю использование preg_match
Хотя я не знаю, может ли это дать мне желаемый результат. Любая помощь будет оценена.
2 ответа
Это возможно:
$html=new new simple_html_dom();
$html>load_file($sourceurl);
foreach ($html->find('ul') as $element) {
$element->innertext = "<div>".$element->innertext."</div>";
}
Конечно, вы можете сделать то же самое с таблицей. Более подробно: простое руководство по HTML DOM Parser
$html=new new simple_html_dom();
$html>load_file($sourceurl);
$replace="ul,li,table,tr,td,th";
foreach($html->find($replace) as $key=>$element){
$html->find($replace,$key)->outertext="<div>".$element->innertext."</div>"
}
это заменяет все элементы из $replace
массив для <div>
в $html
DOM без изменения содержимого этих тегов. Все хранится в $html
DOM.
Как вы можете видеть, вы не можете использовать $element
изменить что-либо в $html
, даже используя $element
в качестве ссылки, поэтому вы должны получить доступ $html
непосредственно.