【问题标题】:PHP parse HTML tables and make them correct HTML5 tablesPHP 解析 HTML 表格并使它们正确的 HTML5 表格
【发布时间】:2016-09-15 07:42:21
【问题描述】:

我正在寻找清理旧 HTML 表格(使用 PHP)的最佳方法,以使它们成为正确的 HTML5 表格 - 这主要是去除不允许的属性的问题。除此之外,我还想去除这些表格的内联样式。如果能一口气完成就太好了。

我一直在研究正则表达式,但在阅读了不建议执行正则表达式之后,我正在寻找其他有用的东西。

【问题讨论】:

  • 使用DOMDocument,regex会出问题

标签: php html html-parsing html-table html-tableextract


【解决方案1】:

如何使用 DOMDocument 去除属性的快速示例 - 可以将其扩展为也添加属性,但这是另一回事。

$strhtml="
<table width='100%' cellpadding='10px' cellspacing='5px' border='2px'>
    <tr>
        <td align='left' valign='top'>banana</td>
    </tr>
</table>";

$remove=array('cellpadding','cellspacing','border','align','valign');


$dom=new DOMDocument;
$dom->loadHTML( $strhtml );

$elements=$dom->getElementsByTagName('*');
foreach( $elements as $node ){
    foreach( $remove as $attrib ){
        if( $node->hasAttribute( $attrib ) ){
            $node->removeAttribute( $attrib );
        }
    }
}

/* debug output */
echo '<textarea cols=100 rows=10>',$dom->saveHTML(),'</textarea>';

【讨论】:

  • 谢谢,这样就可以了!在您真正发布答案之前,我已经弄清楚了,但这正是我想要的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-24
  • 2021-11-15
  • 1970-01-01
  • 2013-01-02
  • 2016-09-20
  • 1970-01-01
  • 2015-09-02
相关资源
最近更新 更多