DOMDocument, एक PHP वर्ग, पार्सिंग के लिए एक सुविधाजनक दृष्टिकोण प्रदान करता है और HTML दस्तावेज़ों में हेरफेर करना। हालाँकि, सामग्री निकालते समय HTML टैग्स को बनाए रखने का प्रयास करते समय, उपयोगकर्ताओं को कठिनाइयों का सामना करना पड़ सकता है। यह लेख DOM की अंतर्निहित अवधारणा पर प्रकाश डालता है और इस चुनौती का समाधान करने के लिए समाधान प्रस्तावित करता है। प्रत्येक नोड में चाइल्ड नोड्स हो सकते हैं, जो एक जटिल संरचना बनाते हैं। यह पहचानना महत्वपूर्ण है कि HTML तत्व, उनकी विशेषताओं और पाठ सामग्री के साथ, सभी DOMDocument के भीतर नोड्स के रूप में दर्शाए जाते हैं।
टैग संरक्षण समस्या का समाधान
प्रदान किया गया कोड "showContent" आईडी के साथ DIV नोड को सफलतापूर्वक प्राप्त करता है। हालाँकि, यह HTML टैग्स को छोड़कर, केवल DIV के भीतर पाठ्य सामग्री को पुनः प्राप्त करता है। ऐसा इसलिए है क्योंकि कोड
$tag->nodeValueका उपयोग करता है, जो वास्तविक नोड्स के बजाय केवल टेक्स्ट को निकालता है।
समाधान: ट्रैवर्सिंग नोड्सHTML नोड्स को संरक्षित करने के लिए, आपको अपने लक्ष्य नोड के चाइल्ड नोड्स को पार करना होगा। नीचे दिया गया कोड इस दृष्टिकोण को प्रदर्शित करता है:
$dom = new DOMDocument();
@$dom->loadHTML($html);
$xpath = नया DOMXPath($dom);
$टैग = $xpath->query('.//div[@id='showContent']');
foreach ($टैग के रूप में टैग) {
इको $dom->saveXML($टैग);
प्रतिध्वनि '
';
}
$dom = new DOMDocument(); @$dom->loadHTML($html); $xpath = new DOMXPath($dom); $tags = $xpath->query('.//div[@id="showContent"]'); foreach ($tags as $tag) { echo $dom->saveXML($tag); echo '
'; }
foreach ($div->getElementsByTagName('a') as $link) { इको $dom->saveXML($लिंक); ) ://www.php.net/manual/en/class.domdocument.php)[प्रश्न और स्टैक ओवरफ्लो में DOMDocument पर उत्तर](https://stackoverflow.com/search?q=user:208809 DOM)
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3