फंक्शन ब्लॉक PREG_REPLACE

फंक्शन ब्लॉक PREG_REPLACE रेगुलर एक्सप्रेशन के साथ खोजता है और बदलता है।

सूचना: यह फ़ंक्शन Binary-Safe है। इसका मतलब है कि UTF8 चिह्नों को सीधे संपादित नहीं किया जा सकता है।

इनपुट PATTERN

जिस अभिव्यक्ति को खोजा जाएगा, वह एक स्ट्रिंग के रूप में। कुछ PCRE मॉडिफायर्स भी उपलब्ध हैं।

इनपुट REPLACEMENT

बदलने के लिए स्ट्रिंग। इसमें \n या $n के रूप में संदर्भ शामिल हो सकते हैं, जिनमें से बाद वाला पसंदीदा है। इन संदर्भों में से प्रत्येक को nवें ब्रैकेटेड खोज पैटर्न द्वारा कैप्चर की गई टेक्स्ट के साथ बदल दिया जाएगा। n का मान 0 से 99 तक हो सकता है। \0 या $0 उस टेक्स्ट का संदर्भ देते हैं जो पूरे खोज पैटर्न पर मेल खाता है। कैप्चरिंग सब-पैटर्न नंबर प्राप्त करने के लिए, ओपनिंग ब्रैकेट्स को 1 से बाएं से दाएं की ओर गिना जाता है। रिप्लेसमेंट में बैकस्लैश का उपयोग करने के लिए इसे डबल करना होगा "\\".

अगर आप एक रिप्लेसमेंट के साथ काम कर रहे हैं, जिसमें एक बैक-रेफरेंस के बाद सीधे ही एक और नंबर आता है (यानी, खोज पैटर्न के मेल खाने के तुरंत बाद एक नंबर आना चाहिए), तो आप अपने बैक-रेफरेंसिंग के लिए \1 लिखने का तरीका नहीं उपयोग कर सकते। उदाहरण के लिए, \11 फ़ंक्शन को भ्रमित करेगा, क्योंकि यह नहीं जान पाएगा कि आप बैक-रेफरेंसिंग \1 चाहते हैं जिसके बाद नंबर 1 आता है या केवल बैक-रेफरेंसिंग \11 चाहते हैं। इस मामले में, समाधान है, ${1}1 का उपयोग करना। इससे एक अलग बैक-रेफरेंसिंग $1 बनता है और 1 एक अक्षर प्रतीक के रूप में बना रहता है।

अगर आप पुराने मॉडिफायर e का उपयोग करते हैं, तो यह फ़ंक्शन कुछ चिह्नों (यानी ', ", \ और NULL) को स्ट्रिंग्स में मास्क करता है, जिनके साथ बैक-रेफरेंसिंग रिप्लेस की जाएगी। यह किया जाता है ताकि यह सुनिश्चित हो सके कि जब बैक-रेफरेंसिंग का उपयोग किया जाता है जो सिंगल या डबल क्वोट्स शामिल करते हैं तो कोई सिंटैक्स एरर नहीं होता है। सुनिश्चित करें कि आप स्ट्रिंग सिंटैक्स को जानते हैं ताकि यह पता चल सके कि मूल्यांकन किए गए स्ट्रिंग कैसा दिखता है।

इनपुट SUBJECT

इनपुट उस स्ट्रिंग को परिभाषित करता है जिसे खोजा जाएगा।

इनपुट LIMIT

प्रत्येक खोज पैटर्न में प्रत्येक सब्जेक्ट के लिए अधिकतम संभव रिप्लेसमेंट की संख्या। डिफ़ॉल्ट मान: -1 या NULL (कोई लिमिट नहीं)।

आउटपुट Q

अगर मेल खाए गए थे, तो नया स्ट्रिंग Q वापस दिया जाता है, अन्यथा SUBJECT अपरिवर्तित वापस दिया जाता है या NULL, अगर कोई त्रुटि हुई थी।

आउटपुट COUNT

आउटपुट उन किए गए रिप्लेसमेंट की संख्या वापस देता है।