PHP में mb_ereg_replace_callback() फ़ंक्शन
PHP में, **mb_ereg_replace_callback()** फ़ंक्शन का उपयोग **कॉलबैक फ़ंक्शन** के साथ मल्टीबाइट समर्थन का उपयोग करके नियमित अभिव्यक्ति खोज और प्रतिस्थापन करने के लिए किया जाता है। यह स्ट्रिंग्स को स्कैन करता है, उन्हें पैटर्न से मिलान करता है, फिर मिलान टेक्स्ट को कॉलबैक फ़ंक्शन के आउटपुट से बदल देता है। यह mb_ereg_replace() फ़ंक्शन की तरह है। PHP 5.4+ में समर्थित।
सिंटैक्स
string|false|null mb_ereg_replace_callback(string $pattern, callable $callback, string $string, string $options = ""): string|false|null
पैरामीटर्स
- $pattern - रेगुलर एक्सप्रेशन पैटर्न (मल्टीबाइट कैरेक्टर्स समर्थित)।
- $callback - कॉलबैक फ़ंक्शन जो मिलान तत्वों की सरणी प्राप्त करता है और प्रतिस्थापन स्ट्रिंग लौटाता है।
- $string - खोज की जाने वाली इनपुट स्ट्रिंग।
- $options - खोज विकल्प (उदाहरण: 'i', 'm', 'x')।
रिटर्न मान
- सफलता पर **परिणामी स्ट्रिंग**।
- त्रुटि पर **false**।
- यदि स्ट्रिंग वर्तमान एन्कोडिंग के लिए अमान्य है तो **null**।
उदाहरण 1: नामित कॉलबैक फ़ंक्शन
<?php
$result = "April Fools day is 04/01/2019\n";
$result .= "Next match is 12/24/2021\n";
// कॉलबैक फ़ंक्शन: वर्ष बढ़ाएं
function next_year($matches) {
return $matches[1] . ($matches[2] + 1);
}
echo mb_ereg_replace_callback(
"(\d{2}/\d{2}/)(\d{4})",
"next_year",
$result
);
?>
आउटपुट
April Fools day is 04/01/2020 Next match is 12/24/2022
उदाहरण 2: अनाम फ़ंक्शन (क्लोजर)
<?php
$result = "April Fools day is 04/01/2019\n";
$result .= "Next match is 12/24/2021\n";
echo mb_ereg_replace_callback(
"(\d{2}/\d{2}/)(\d{4})",
function ($matches) {
return $matches[1] . ($matches[2] + 1);
},
$result
);
?>
आउटपुट
April Fools day is 04/01/2020 Next match is 12/24/2022
महत्वपूर्ण नोट्स
- डिप्रिकेटेड/हटाया गया: `mb_ereg_replace_callback()` PHP 7.3.0 में डिप्रिकेटेड और PHP 8.0.0 में **हटा दिया गया**।
- आधुनिक विकल्प: **
preg_replace_callback()साथ `u` मोडिफायर** का उपयोग करें:preg_replace_callback( "/(\d{2}\/\d{2}\/)(\d{4})/u", function ($matches) { return $matches[1] . ($matches[2] + 1); }, $string ); - अनाम फ़ंक्शंस (क्लोजर्स) कॉलबैक के लिए पसंद किए जाते हैं ताकि नेमस्पेस प्रदूषण से बचा जा सके।