Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP - mb_encode_mimeheader() के साथ MIME हेडर के लिए स्ट्रिंग एन्कोड करें


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 हेडर डीकोडिंग के लिए वैकल्पिक।
  1. - PHP में रेगेक्स का उपयोग करके स्ट्रिंग को वाक्यों में विभाजित करें

    उदाहरण function sentence_split($text) { $before_regexes = array(/(?:(?:[\\x{201E}][\.!?\x{2026}][\\x{201D}]\s)|(?:[^\.]\s[A-Z]\.\s)|(?:\b(?:St|Gen|Hon|Prof|Dr|Mr|Ms|Mrs|[JS]r|Col|Maj|Brig|Sgt|Capt|Cmnd|Sen|Rev|Rep|Revd) \.\s)|(?:\b(?:St|Gen|Hon|Prof|Dr|Mr|Ms|Mrs|[JS]r|Col|Maj

  1. - PHP में Array Keys Reset करना

    PHP में array के keys को reset करके 0 से शुरू होने वाले numeric keys बनाना। विधि 1: array_values() (सबसे सरल) string(3) 110 } */ विधि 2: array_merge() (Side Effect) c] विधि 3: Custom Start Index के साथ 120] विधि 4: foreach Loop (Manual Control) Hanks] Multidimensional Arrays के लिए C] ];

  1. - PHP का उपयोग करके रैंडम स्ट्रिंग जनरेट करना

    PHP में रैंडम स्ट्रिंग जनरेट करना विधि 1: md5() + mt_rand() + substr() (पुराना तरीका) <?php $res = substr(md5(mt_rand()), 0, 5); echo रैंडम स्ट्रिंग प्रदर्शित हो रही है...\n; echo $res; ?> आउटपुट रैंडम स्ट्रिंग प्रदर्शित हो रही है... 1c856 विधि 2: random_bytes() + bin2hex() (क्रिप्टोग्र