php DOMDocument 遞迴 格式化縮排HTML文檔
gt
html
node
php DOMDocument 遞歸 格式化縮排HTML文件
<span>function</span> format(\DOMNode <span>$node</span>, <span>$treeIndex</span> = 0<span>) { </span><span>//</span><span>不格式化的标签</span><span>if</span> (<span>in_array</span>(<span>$node</span>->nodeName, <span>array</span>("title", "p", "span"<span>))) </span><span>return</span><span>; </span><span>if</span> (<span>$node</span>-><span>hasChildNodes()) { </span><span>$treeIndex</span>++<span>; </span><span>$tabStart</span> = "\r\n" . <span>str_repeat</span>(" ", <span>$treeIndex</span><span>); </span><span>$tabEnd</span> = "\r\n" . <span>str_repeat</span>(" ", <span>$treeIndex</span> - 1<span>); </span><span>$i</span> = 0<span>; </span><span>while</span> (<span>$childNode</span> = <span>$node</span>->childNodes->item(<span>$i</span>++<span>)) { </span><span>//</span><span>去除空的text node</span><span>if</span> (<span>$childNode</span>->nodeType == XML_TEXT_NODE and <span>preg_match</span>('#^\s*$#', <span>$childNode</span>-><span>nodeValue)) { </span><span>$node</span>->removeChild(<span>$childNode</span><span>); </span><span>$i</span>--<span>; </span><span>continue</span><span>; } </span><span>$node</span>->insertBefore(<span>$node</span>->ownerDocument->createTextNode(<span>$tabStart</span>), <span>$childNode</span><span>); </span><span>$i</span>++<span>; format(</span><span>$childNode</span>, <span>$treeIndex</span><span>); }; </span><span>$node</span>->appendChild(<span>$node</span>->ownerDocument->createTextNode(<span>$tabEnd</span><span>)); } } </span><span>$html</span> = '<!DOCTYPE html><html><head><meta charset="utf-8"><title></title></head><body></body></html>'<span>; </span><span>$doc</span> = <span>new</span><span> \DOMDocument(); </span><span>//</span><span>$doc->formatOutput = true; //不知道是不是我的理解问题,这个选项格式化出来的并不完美</span><span>$doc</span>->loadHTML(<span>$html</span><span>); format(</span><span>$doc</span>-><span>documentElement); </span><span>echo</span><span>$doc</span>->saveHTML();
登入後複製
以上就介紹了php DOMDocument 遞歸 格式化縮排HTML文檔,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
如何修復KB5055612無法在Windows 10中安裝?
4 週前
By DDD
<🎜>:種植花園 - 完整的突變指南
3 週前
By DDD
<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PiNetwork節點詳解及安裝指南本文將詳細介紹PiNetwork生態系統中的關鍵角色——Pi節點,並提供安裝和配置的完整步驟。 Pi節點在PiNetwork區塊鏈測試網推出後,成為眾多先鋒積極參與測試的重要環節,為即將到來的主網發布做準備。如果您還不了解PiNetwork,請參考Pi幣是什麼?上市價格多少? Pi用途、挖礦及安全性分析。什麼是PiNetwork? PiNetwork項目始於2019年,擁有其專屬加密貨幣Pi幣。該項目旨在創建一個人人可參與

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲
