चेतावनियाँ छिपाने के लिए, आपको विशेष निर्देश देने होते हैं libxml
जिसका उपयोग आंतरिक रूप से पार्सिंग करने के लिए किया जाता है:
libxml_use_internal_errors(true);
$dom->loadHTML($html);
libxml_clear_errors();
libxml_use_internal_errors(true)
इंगित करता है कि आप त्रुटियों और चेतावनियों खुद को संभालने के लिए जा रहे हैं और आप अपना स्क्रिप्ट का आउटपुट ऊपर गड़बड़ करने के लिए उन्हें चाहते हैं।
यह @
ऑपरेटर के समान नहीं है । चेतावनियाँ पर्दे के पीछे एकत्रित हो जाती हैं और बाद में जब आप libxml_get_errors()
लॉगिंग करने या कॉल करने के लिए मुद्दों की सूची वापस करना चाहते हैं, तो आप उन्हें पुनः प्राप्त कर सकते हैं ।
आप एकत्रित चेतावनियों का उपयोग कर रहे हैं या नहीं, आपको हमेशा कॉल करके कतार साफ़ करनी चाहिए libxml_clear_errors()
।
राज्य का संरक्षण
यदि आपके पास अन्य कोड है जो libxml
इसका उपयोग करता है, तो यह सुनिश्चित करना सार्थक हो सकता है कि आपका कोड त्रुटि से निपटने की वैश्विक स्थिति में परिवर्तन नहीं करता है ; इसके लिए, आप libxml_use_internal_errors()
पिछली स्थिति को बचाने के लिए रिटर्न मान का उपयोग कर सकते हैं ।
$libxml_previous_state = libxml_use_internal_errors(true);
$dom->loadHTML($html);
libxml_clear_errors();
libxml_use_internal_errors($libxml_previous_state);