एक स्ट्रिंग से HTML विशेष वर्णों को अलग करना
RSS फ़ीड बनाते समय, अनुकूलता सुनिश्चित करने के लिए HTML टैग और विशेष वर्णों को हटाना महत्वपूर्ण है। जबकि Strip_tags() टैग को प्रभावी ढंग से हटा देता है, यह अक्सर HTML विशेष वर्णों को पीछे छोड़ देता है।
इस समस्या के समाधान के लिए, दो संभावित समाधान हैं:
html_entity_decode():
यह फ़ंक्शन HTML इकाइयों को डिकोड करता है और उन्हें उनके संबंधित वर्णों से बदल देता है। उदाहरण के लिए, एक स्थान में परिवर्तित कर दिया जाएगा।
preg_replace():
नियमित अभिव्यक्तियों का उपयोग करके, preg_replace() आपको वर्णों के विशिष्ट अनुक्रमों को हटाने की अनुमति देता है। निम्नलिखित पैटर्न HTML विशेष वर्णों से मेल खाता है और हटाता है:
/&#?[a-z0-9] ;/i
यह पैटर्न से शुरू होने वाले अनुक्रमों की खोज करता है, उसके बाद अक्षरों और संख्याओं का संयोजन, और अर्धविराम के साथ समाप्त होता है।
इस समाधान को लागू करने के लिए:
$content = preg_replace("/&#?[a-z0-9] ;/i", "", $content);
जैको का विकल्प:
एक अन्य विकल्प , जैसा कि जैको ने टिप्पणी अनुभाग में सुझाव दिया है, निम्नलिखित का उपयोग करना है पैटर्न:
/&#?[a-z0-9]{2,8};/i
यह पैटर्न एक निश्चित वर्ण सीमा के भीतर अनुक्रमों के प्रतिस्थापन को सीमित करता है, जिससे जोखिम कम हो जाता है गलती से अनएन्कोडेड को बदलने का & वाक्यों में अक्षर.
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3