如何使用PHP简单HTML DOM解析器将所有ul和li标记替换为div?
好的,我想使用PHP简单的HTMLDOM解析器来创建一个"网站动员器"。在目前阶段,我想-
- 将所有‘ul’和‘li’标记更改为‘div’标记和
- 将所有‘table’元素(例如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
,尽管我不知道它是否能给我提供所需的输出。任何帮助都将不胜感激。
解决方案
$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>"
}
这将替换$html
DOM中从$replace
数组到<div>
的所有元素,而不会更改这些标记的内容。所有内容都存储在$html
DOM中。
如您所见,您无法使用$element
更改$html
中的任何内容,即使使用$element
作为引用,因此您必须直接访问$html
。
相关文章