मैं कुछ एचटीएमएल दस्तावेज़ बनाने के लिए PHP में डीओएम एक्सटेंशन का उपयोग कर रहा हूं, और मैं चाहता हूं कि आउटपुट अच्छी तरह से स्वरूपित किया जाए (नई लाइनों और इंडेंटेशन के साथ) ताकि यह पठनीय हो सके, हालांकि , कई परीक्षणों से मेरे द्वारा की गई:PHP "सुंदर प्रिंट" एचटीएमएल (टिडी नहीं)
- "formatOutput = सच" saveHTML(), केवल saveXML() के साथ बिल्कुल भी काम नहीं करता है
- यहां तक कि अगर मैं saveXML() का इस्तेमाल किया, यह अभी भी केवल डीओएम के माध्यम से बनाए गए तत्वों पर काम करता है, न कि तत्वों को लोड HTML() के साथ शामिल किया गया है, यहां तक कि "preserveWhiteSpace = false"
यदि कोई अलग से जानता है तो मैं वास्तव में जानना चाहता हूं कि उन्हें यह कैसे काम करने के लिए मिला।
तो, मेरे पास एक डोम दस्तावेज़ है, और मैं HTML को आउटपुट करने के लिए saveHTML() का उपयोग कर रहा हूं। चूंकि यह डोम से आ रहा है, मुझे पता है कि यह मान्य है, किसी भी तरह से "साफ" करने या इसे सत्यापित करने की कोई आवश्यकता नहीं है।
मैं बस डीओएम एक्सटेंशन से प्राप्त आउटपुट से अच्छी तरह से स्वरूपित आउटपुट प्राप्त करने का एक तरीका ढूंढ रहा हूं।
एनबी। जैसा कि आपने अनुमान लगाया होगा, मैं टिडी एक्सटेंशन को ए के रूप में उपयोग नहीं करना चाहता हूं) यह बहुत अधिक है कि मुझे इसकी भी आवश्यकता है (मार्कअप पहले से ही मान्य है) और बी) यह वास्तव में HTML सामग्री में परिवर्तन करता है (जैसे कि एचटीएमएल 5 डॉक्टरेट और कुछ तत्व)।
फ़ॉलो अप:
ठीक है, इस सवाल का जवाब की मदद से नीचे मैं बाहर काम किया है क्यों डोम विस्तार से काम नहीं कर रहा था। हालांकि दिया गया उदाहरण काम करता है, फिर भी यह मेरे कोड के साथ काम नहीं कर रहा था। this टिप्पणी की सहायता से मैंने पाया कि यदि आपके पास कोई टेक्स्ट नोड्स है जहां हैइट्सपेसइनइलेमेंटकंटेंट() सत्य है तो उस बिंदु से परे कोई स्वरूपण लागू नहीं किया जाएगा। यह चाहे भरोसा करता है कि व्हाइटस्पेस गलत है या नहीं। समाधान इन सभी नोड्स को निकालना है (हालांकि मुझे यकीन नहीं है कि इससे वास्तविक सामग्री पर प्रतिकूल प्रभाव पड़ सकता है)।
धन्यवाद। Php.net पर आपके उदाहरणों और टिप्पणियों के साथ मैंने समस्या का समाधान किया है (उपरोक्त अनुवर्ती देखें)। –
डोम के साथ समाधान मुझे काफी हेवीवेट लगता है। यह कितनी तेज़ या धीमी है? छोटे स्निपेट पर या केवल पूरे पृष्ठ पर इसका उपयोग करना उचित है? – sumid
'saveXML()' का उपयोग करते समय कुछ टैग्स के साथ 'savexa टाइप = "टेक्स्ट" name = "name">' के साथ 'saveXML()' का उपयोग करते समय एक समस्या है, यह इसे ' 'क्या मैं इसे ठीक कर सकता हूं? –