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

PHP के साथ सभी प्रकार के स्मार्ट कोट्स कन्वर्ट करें

कोड की नीचे की पंक्तियों का उपयोग किया जा सकता है, जिसमें UTF-8 इनपुट अपेक्षित है।

$chr_map = array(
   // Windows codepage 1252
   "\xC2\x82" => "'", // U+0082⇒U+201A single low-9 quotation mark
   "\xC2\x84" => '"', // U+0084⇒U+201E double low-9 quotation mark
   "\xC2\x8B" => "'", // U+008B⇒U+2039 single left-pointing angle quotation mark
   "\xC2\x91" => "'", // U+0091⇒U+2018 left single quotation mark
   "\xC2\x92" => "'", // U+0092⇒U+2019 right single quotation mark
   "\xC2\x93" => '"', // U+0093⇒U+201C left double quotation mark
   "\xC2\x94" => '"', // U+0094⇒U+201D right double quotation mark
   "\xC2\x9B" => "'", // U+009B⇒U+203A single right-pointing angle quotation mark
   // Regular Unicode // U+0022 quotation mark (")
   // U+0027 apostrophe (')
   "\xC2\xAB" => '"', // U+00AB left-pointing double angle quotation mark
   "\xC2\xBB" => '"', // U+00BB right-pointing double angle quotation mark
   "\xE2\x80\x98" => "'", // U+2018 left single quotation mark
   "\xE2\x80\x99" => "'", // U+2019 right single quotation mark
   "\xE2\x80\x9A" => "'", // U+201A single low-9 quotation mark
   "\xE2\x80\x9B" => "'", // U+201B single high-reversed-9 quotation mark
   "\xE2\x80\x9C" => '"', // U+201C left double quotation mark
   "\xE2\x80\x9D" => '"', // U+201D right double quotation mark
   "\xE2\x80\x9E" => '"', // U+201E double low-9 quotation mark
   "\xE2\x80\x9F" => '"', // U+201F double high-reversed-9 quotation mark
   "\xE2\x80\xB9" => "'", // U+2039 single left-pointing angle quotation mark
   "\xE2\x80\xBA" => "'", // U+203A single right-pointing angle quotation mark
);
$char_val = array_keys ($chr_map); // but: for efficiency you should
$rpl = array_values($chr_map); // pre-calculate these two arrays
$str = str_replace($char_val, $rpl, html_entity_decode($str, ENT_QUOTES, "UTF-8"));

स्पष्टीकरण

प्रत्येक यूनिकोड वर्ण ठीक एक "सामान्य श्रेणी" से संबंधित है।

इनमें से, जिनमें उद्धरण वर्ण हो सकते हैं, वे हैं -

Ps "Punctuation, Open"
Pe "Punctuation, Close"
Pi "Punctuation, Initial quote (might behave like Ps or Pe depending on its usage)"
Pf "Punctuation, Final quote (might behave like Ps or Pe depending on its usage)"
Po "Punctuation, Other"

यदि उपयोगकर्ता सुनिश्चित नहीं है कि इनपुट UTF-8 एन्कोडेड है, तो नीचे दिए गए कोड को अन्य ऑपरेशन करने से पहले रखा जा सकता है -

if ( !preg_match('/^\\X*$/u', $str)) {
   $str = utf8_encode($str);
}

यदि डेटा को 0x80-0x9F की सीमा में सामान्यीकृत करने की आवश्यकता है, तो नीचे दिए गए कोड का उपयोग किया जा सकता है -

$normalization_map = array(
   "\xC2\x80" => "\xE2\x82\xAC", // U+20AC Euro sign
   "\xC2\x82" => "\xE2\x80\x9A", // U+201A single low-9 quotation mark
   "\xC2\x83" => "\xC6\x92", // U+0192 latin small letter f with hook
   "\xC2\x84" => "\xE2\x80\x9E", // U+201E double low-9 quotation mark
   "\xC2\x85" => "\xE2\x80\xA6", // U+2026 horizontal ellipsis
   "\xC2\x86" => "\xE2\x80\xA0", // U+2020 dagger
   "\xC2\x87" => "\xE2\x80\xA1", // U+2021 double dagger
   "\xC2\x88" => "\xCB\x86", // U+02C6 modifier letter circumflex accent
   "\xC2\x89" => "\xE2\x80\xB0", // U+2030 per mille sign
   "\xC2\x8A" => "\xC5\xA0", // U+0160 latin capital letter s with caron
   "\xC2\x8B" => "\xE2\x80\xB9", // U+2039 single left-pointing angle quotation mark
   "\xC2\x8C" => "\xC5\x92", // U+0152 latin capital ligature oe
   "\xC2\x8E" => "\xC5\xBD", // U+017D latin capital letter z with caron
   "\xC2\x91" => "\xE2\x80\x98", // U+2018 left single quotation mark
   "\xC2\x92" => "\xE2\x80\x99", // U+2019 right single quotation mark
   "\xC2\x93" => "\xE2\x80\x9C", // U+201C left double quotation mark
   "\xC2\x94" => "\xE2\x80\x9D", // U+201D right double quotation mark
   "\xC2\x95" => "\xE2\x80\xA2", // U+2022 bullet
   "\xC2\x96" => "\xE2\x80\x93", // U+2013 en dash
   "\xC2\x97" => "\xE2\x80\x94", // U+2014 em dash
   "\xC2\x98" => "\xCB\x9C", // U+02DC small tilde
   "\xC2\x99" => "\xE2\x84\xA2", // U+2122 trade mark sign
   "\xC2\x9A" => "\xC5\xA1", // U+0161 latin small letter s with caron
   "\xC2\x9B" => "\xE2\x80\xBA", // U+203A single right-pointing angle quotation mark
   "\xC2\x9C" => "\xC5\x93", // U+0153 latin small ligature oe
   "\xC2\x9E" => "\xC5\xBE", // U+017E latin small letter z with caron
   "\xC2\x9F" => "\xC5\xB8", // U+0178 latin capital letter y with diaeresis
);
$chr = array_keys ($normalization_map); // but: for efficiency you should
$rpl = array_values($normalization_map); // pre-calculate these two arrays
$str = str_replace($chr, $rpl, $str);

  1. PHP में ऑब्जेक्ट को किसी ऐरे में कनवर्ट करें।

    एक PHP एप्लिकेशन में, हम डेटा के साथ स्ट्रिंग, ऐरे, ऑब्जेक्ट्स या अधिक जैसे विभिन्न स्वरूपों में काम कर रहे हैं ... रीयल-टाइम एप्लिकेशन में, हमें प्राप्त करने के लिए एक सहयोगी सरणी के रूप में एक PHP ऑब्जेक्ट परिणाम पढ़ने की आवश्यकता हो सकती है वांछित आउटपुट। इसलिए हम यहां चर्चा करेंगे कि PHP में कि

  1. PHP के साथ SAP को एकीकृत करना

    SAP को PHP से जोड़ने के कई तरीकों में से - वेब सेवाएं और RFC (रिमोट फंक्शन कॉल) डेवलपर्स द्वारा अधिक उपयोग किए जाते हैं। SAPRFC PHP 4 और PHP 5 के लिए एक एक्सटेंशन मॉड्यूल है। SAPRFC के साथ PHP स्क्रिप्ट से SAP R/3 में ABAP फ़ंक्शन मॉड्यूल को कॉल करना संभव है। आप एसएपी आर/3 से कनेक्टिविटी के साथ वे

  1. PHP - mb_list_encodings () के साथ सभी समर्थित एन्कोडिंग की एक सरणी लौटाएं

    mb_list_encodings() PHP में फ़ंक्शन का उपयोग सभी समर्थित एन्कोडिंग की एक सरणी को वापस करने के लिए किया जाता है। यह फ़ंक्शन PHP 5 या उच्चतर संस्करण में समर्थित है। सिंटैक्स array mb_list_encodings() पैरामीटर mb_list_encodings() कोई पैरामीटर नहीं लेता है। रिटर्न वैल्यू यह फ़ंक्शन संख्यात्मक रूप से अ