PHP 7 में Preg_replace_callback_array() फ़ंक्शन एक नियमित अभिव्यक्ति का प्रतिनिधित्व करता है और कॉलबैक्स के उपयोग को प्रतिस्थापित करता है। यह फ़ंक्शन नियमित अभिव्यक्तियों के एक सेट से मेल खाने और उन्हें कॉलबैक फ़ंक्शन का उपयोग करके प्रतिस्थापित करने के लिए एक स्ट्रिंग या स्ट्रिंग्स की सरणी लौटाता है।
सिंटैक्स
preg_replace_callback_array(patterns, input, limit, count)
पैरामीटर मान:
- पैटर्न - इसके लिए एक सहयोगी सरणी की आवश्यकता होती है जो नियमित अभिव्यक्ति पैटर्न को कॉलबैक फ़ंक्शन्स से जोड़ती है।
- इनपुट/सब्जेक्ट - प्रतिस्थापन करने के लिए स्ट्रिंग्स की एक सरणी की आवश्यकता होती है।
- लिमिट - यह वैकल्पिक है। डिफ़ॉल्ट के लिए -1 का उपयोग किया जाता है, जिसका अर्थ है कि यह असीमित है। यह प्रत्येक स्ट्रिंग में कितने प्रतिस्थापन किए जा सकते हैं, इसकी सीमा सेट करता है।
- काउंट - यह लिमिट की तरह वैकल्पिक है। फ़ंक्शन के निष्पादित होने के बाद यह वेरिएबल एक संख्या रखेगा, जो दर्शाता है कि कितने प्रतिस्थापन किए गए थे।
- फ्लैग्स - यह preg_offset_capture और preg_unmatched_as_null फ्लैग्स का संयोजन हो सकता है, जो मिलान सरणी के प्रारूप को प्रभावित करते हैं।
- रिटर्न मान - preg_replace_callback_array() एक स्ट्रिंग या स्ट्रिंग्स की सरणी लौटाता है। यदि त्रुटि पाई जाती है, तो यह नल मान लौटाएगा। यदि मिलान मिलते हैं, तो नया सब्जेक्ट लौटाया जाएगा, अन्यथा सब्जेक्ट अपरिवर्तित लौटाया जाएगा।
Preg_replace_callback_array(): उदाहरण
<html> <head> <title> PHP 7 Feature tutorialpoint:</title> </head> <body>
<?php
$subject = 'AaaaaaaBbbbCccc';
preg_replace_callback_array (
[
'~[a]+~i' => function ($match) {
echo strlen($match[0]), ' number of "a" found', PHP_EOL;
},
'~[b]+~i' => function ($match) {
echo strlen($match[0]), ' number of "b" found', PHP_EOL;
},
'~[c]+~i' => function ($match) {
echo strlen($match[0]), ' number of "c" found', PHP_EOL;
}
],
$subject
);
?>
</body> </html>
आउटपुट
7 number of "a" found 4 number of "b" found 5 number of "c" found