PHP स्ट्रिंग्स से नियंत्रण वर्णों को हटाना
PHP स्ट्रिंग्स के साथ काम करते समय, कभी-कभी STX जैसे नियंत्रण वर्णों को हटाना आवश्यक होता है। Preg_replace का उपयोग करने का प्रयास करते समय, आपने पाया होगा कि इसने नियंत्रण वर्णों से परे अत्यधिक वर्णों को हटा दिया है। यहां हमारा ध्यान आपको यह दिखाने पर है कि चुनिंदा रूप से केवल नियंत्रण वर्णों को कैसे हटाया जाए।
इसे प्राप्त करने के लिए, आप निम्नलिखित कोड का उपयोग कर सकते हैं:
preg_replace('/[\x00-\x1F\x7F]/', '', $input);
यह पैटर्न हेक्साडेसिमल मानों \x00 से \x1F की सीमा के साथ-साथ मान \x7F के वर्णों से मेल खाता है और उन्हें प्रतिस्थापित करता है। इस श्रेणी में पहले 32 ASCII वर्णों के साथ-साथ DEL वर्ण भी शामिल हैं।
यदि आप लाइन फ़ीड और कैरिज रिटर्न जैसे कुछ नियंत्रण वर्णों को संरक्षित करना चाहते हैं, तो आप पैटर्न को तदनुसार समायोजित कर सकते हैं:
preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $input);
इस पैटर्न का उपयोग करके, आप सभी नियंत्रण वर्ण हटा सकते हैं लाइन फीड (\n) और कैरिज रिटर्न (\r) को छोड़कर।
यह ध्यान रखना महत्वपूर्ण है कि ereg_replace को PHP >= 5.3.0 में हटा दिया गया है और PHP >= 7.0.0 में हटा दिया गया है। अनुकूलता सुनिश्चित करने के लिए, इसके बजाय preg_replace का उपयोग करें:
preg_replace('/[[:cntrl:]]/', '', $input);
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3