PHP में mb_encode_mimeheader() फ़ंक्शन
PHP में, **mb_encode_mimeheader()** फ़ंक्शन का उपयोग **MIME (मल्टीपर्पस इंटरनेट मेल एक्सटेंशन्स) हेडर** के लिए स्ट्रिंग एन्कोड करने के लिए किया जाता है। यह दी गई स्ट्रिंग को MIME हेडर एन्कोडिंग योजना द्वारा एन्कोड करता है (RFC 2047)।
सिंटैक्स
string mb_encode_mimeheader(
string $string,
string $charset = mb_internal_encoding(),
string $transfer_encoding = "B",
string $newline = "\r\n",
int $indent = 0
): string
पैरामीटर्स
- $string - एन्कोड की जाने वाली स्ट्रिंग। इसका एन्कोडिंग `mb_internal_encoding()` से मेल खाना चाहिए।
- $charset - कैरेक्टर सेट नाम (उदाहरण: 'UTF-8', 'ISO-2022-JP')।
- $transfer_encoding - MIME एन्कोडिंग योजना:
'B'(Base64) या'Q'(क्वोटेड-प्रिंटेबल)। डिफ़ॉल्ट 'B'। - $newline - लाइन फोल्डिंग के लिए EOL मार्कर (डिफ़ॉल्ट `\r\n`)।
- $indent - पहली लाइन का इंडेंटेशन (डिफ़ॉल्ट 0)।
रिटर्न मान
- **एएससीआईआई-प्रतिनिधित्व स्ट्रिंग** MIME एन्कोडेड-वर्ड सिंटैक्स में: `=?charset?encoding?encoded-text?=`।
उदाहरण 1: ईमेल पता एन्कोडिंग
<?php
$name = "Online tutorials";
$mbox = "nru";
$doma = "gtin.thu";
$addr = mb_encode_mimeheader($name, "UTF-7", "Q") . " <" . $mbox . "@" . $doma . ">";
echo $addr;
?>
Online tutorials
उदाहरण 2: यूनिकोड कैरेक्टर एन्कोडिंग
<?php
$string = "\xe2\x86\x92"; // UTF-8 में → (राइट एरो)
mb_internal_encoding("UTF-8");
echo mb_encode_mimeheader($string, 'UTF-8');
?>
=?UTF-8?B?4oaS?=
महत्वपूर्ण नोट्स
- लंबी हेडर लाइन्स के लिए **लाइन फोल्डिंग** स्वचालित रूप से संभालता है (RFC 5322: 78 कैरेक्टर्स/लाइन)।
- ईमेल हेडर्स (Subject, From, To) में गैर-ASCII टेक्स्ट के लिए आवश्यक।
- `mb_internal_encoding()` सही ढंग से सेट होना चाहिए।
संबंधित फ़ंक्शन्स
mb_decode_mimeheader()- MIME हेडर डीकोड करें।imap_utf8()- MIME हेडर डीकोडिंग के लिए वैकल्पिक।