2016-09-15 62 views
0

我正在尋找清理舊HTML表格(使用PHP)的最佳方法,以便它們是正確的HTML5表格 - 主要是剝離不允許的屬性。除此之外,我還想去掉這些表格的內聯樣式。如果能夠一次完成,那將是非常好的。PHP解析HTML表格並使它們正確的HTML5表格

我一直在研究大多數常規表達式,但在閱讀完正則表達式後,不建議執行該操作,我正在尋找其他有用的東西。

+0

使用'DOMDocument',''正則表達式'會困擾的問題 – RamRaider

回答

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>'; 
+0

謝謝,那會!在你發佈答案之前,我已經想通了,但這正是我所期待的。 – user1970395