PHP में HTML और XML को सही तरीके से कैसे पार्स करें? DOMDocument, SimpleXML और regular expressions को समझें
सभी को नमस्कार! मैं एक शुरुआती PHP डेवलपर हूँ और पिछले दो हफ्तों से HTML पेजों को पार्स करने में परेशान हूँ। मुझे एक बाहरी साइट से सभी लिंक और हेडिंग निकालने हैं, लेकिन मैं समझ नहीं पा रहा हूँ कि इसे सही तरीके से कैसे किया जाए।
पहले मैंने regular expressions का उपयोग करने की कोशिश की, लेकिन कोड बहुत खराब हो गया और HTML में थोड़ा सा बदलाव होने पर टूट जाता है। यहाँ मेरा कोड था:
```php
$html = file_get_contents('https://example.com');
preg_match_all('/(.*?)<\/a>/', $html, $matches);
```
यह केवल सरल लिंक के लिए काम करता है, लेकिन अगर attributes में quotes या line breaks हों तो सब कुछ टूट जाता है। और XML की बात तो छोड़िए — इसमें अपने namespace और जटिल nesting होती है।
फिर मुझे `DOMDocument` और `SimpleXML` मिले, लेकिन मैं समझ नहीं पाया कि इनमें क्या अंतर है और क्या चुनूँ। मैंने `DOMXPath` और `DOMCrawler` के बारे में भी सुना है, लेकिन डर लगता है कि ये मेरे काम के लिए बहुत जटिल हैं।
कृपया बताएँ:
1. HTML और XML पार्स करने के लिए कौन सा टूल सबसे अच्छा है?
2. अगर HTML खराब है तो errors को सही तरीके से कैसे handle करें?
3