2

好的,我想使用 PHP Simple HTML DOM Parser 创建一个“网站动员”。在现阶段,我想——

  1. 将所有 'ul' 和 'li' 标签更改为 'div' 标签和
  2. 将所有'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,虽然我不知道它是否能给我想要的输出。任何帮助将不胜感激。

4

2 回答 2

3
$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>的所有元素替换为$htmlDOM 中的所有元素,而不会更改这些标签的内容。一切都存储在$htmlDOM 中。

如您所见,即使用作参考,您也无法使用$element更改任何内容,因此您必须直接访问。$html$element$html

于 2014-02-15T15:26:34.193 回答
3

有可能的:

$html=new new simple_html_dom();
    $html>load_file($sourceurl);

    foreach ($html->find('ul') as $element) {  
     $element->innertext = "<div>".$element->innertext."</div>";     
    }

当然你也可以对 table 做同样的事情。文档中的更多内容:简单的 HTML DOM 解析器手册

于 2013-11-08T18:37:16.213 回答