] PHP DOM HTML को पार्स करने और इसकी सामग्री तक पहुंचने के लिए मजबूत उपकरण प्रदान करता है। यह लेख दो फ्लैट सरणियों में नामांकित वर्ग के साथ तत्वों से पाठ निकालने के लिए एक विशिष्ट आवश्यकता को संबोधित करता है।
समस्या अल्टरनेटिंग क्लास के नाम, कार्य पाठ को दो सरणियों में सहेजना है: एक हेडिंग के लिए और एक सामग्री के लिए। उदाहरण के लिए, निम्नलिखित HTML:
अध्याय 1 स्पैन>
यह अध्याय 1 स्पैन> है
हमें निम्नलिखित आउटपुट प्राप्त करने की आवश्यकता है:
$ शीर्षक = ['अध्याय 1', 'अध्याय 2', 'अध्याय 3']; $ सामग्री = ['यह अध्याय 1 है', 'यह अध्याय 2 है', 'यह अध्याय 3' है; PHP DOM, हम DOMDOCUMENT और DOMXPATH को नियुक्त करते हैं। समाधान में निम्न चरण शामिल हैं:
html को एक domdocument object में लोड करें:
Chapter 1
This is chapter 1
$ dom = new domdocument (); $ dom-> loadhtml ($ परीक्षण); &&&]
$heading = ['Chapter 1', 'Chapter 2', 'Chapter 3']; $content = ['This is chapter 1', 'This is chapter 2', 'This is chapter 3'];
$ हेडिंग = parsetoArray ($ xpath, 'heading1-h'); $ सामग्री = parsetoarray ($ xpath, 'normal-h'); ]
php फ़ंक्शन parsetoarray (domxpath $ XPath, स्ट्रिंग $ वर्ग): सरणी { $ xPathquery = "//*[@class = '$ वर्ग']"; $ तत्व = $ xpath-> क्वेरी ($ xpathquery); $ resultArray = []; foreach ($ तत्व के रूप में $ तत्व) { $ नोड्स = $ तत्व-> चाइल्डनोड्स; foreach ($ नोड के रूप में $ नोड्स) { $ resultArray [] = $ नोड-> nodevalue; } } $ ResultArray लौटें; } $ परीक्षण = अध्याय 1 स्पैन>यह अध्याय 1 स्पैन> है
अध्याय 2 स्पैन>
यह अध्याय 2 स्पैन> है
अध्याय 3 स्पैन>
यह अध्याय 3 स्पैन> है
Html; $ dom = new domdocument (); $ DOM-> LOADHTML ($ परीक्षण); $ XPath = नया DOMXPATH ($ DOM); $ शीर्षक = ParsetOarray ($ XPath, 'Heading1-H'); $ सामग्री = parsetoarray ($ xpath, 'सामान्य-h'); var_dump ($ शीर्षक); इको "अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3