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

PHP में सभी प्रकार के स्मार्ट कोट्स बदलें


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

$chr_map = array( 
    // Windows कोडपेज 1252 
    "\xC2\x82" => "'", // U+0082→U+201A सिंगल लो-9 कोटेशन मार्क 
    "\xC2\x84" => '"', // U+0084→U+201E डबल लो-9 कोटेशन मार्क 
    "\xC2\x8B" => "'", // U+008B→U+2039 सिंगल लेफ्ट-पॉइंटिंग एंगल कोटेशन मार्क 
    "\xC2\x91" => "'", // U+0091→U+2018 लेफ्ट सिंगल कोटेशन मार्क 
    "\xC2\x92" => "'", // U+0092→U+2019 राइट सिंगल कोटेशन मार्क 
    "\xC2\x93" => '"', // U+0093→U+201C लेफ्ट डबल कोटेशन मार्क 
    "\xC2\x94" => '"', // U+0094→U+201D राइट डबल कोटेशन मार्क 
    "\xC2\x9B" => "'", // U+009B→U+203A सिंगल राइट-पॉइंटिंग एंगल कोटेशन मार्क 
    // नियमित यूनिकोड 
    // U+0022 कोटेशन मार्क (") 
    // U+0027 एपोस्ट्रोफी (') 
    "\xC2\xAB" => '"', // U+00AB लेफ्ट-पॉइंटिंग डबल एंगल कोटेशन मार्क 
    "\xC2\xBB" => '"', // U+00BB राइट-पॉइंटिंग डबल एंगल कोटेशन मार्क 
    "\xE2\x80\x98" => "'", // U+2018 लेफ्ट सिंगल कोटेशन मार्क 
    "\xE2\x80\x99" => "'", // U+2019 राइट सिंगल कोटेशन मार्क 
    "\xE2\x80\x9A" => "'", // U+201A सिंगल लो-9 कोटेशन मार्क 
    "\xE2\x80\x9B" => "'", // U+201B सिंगल हाई-रिवर्स्ड-9 कोटेशन मार्क 
    "\xE2\x80\x9C" => '"', // U+201C लेफ्ट डबल कोटेशन मार्क 
    "\xE2\x80\x9D" => '"', // U+201D राइट डबल कोटेशन मार्क 
    "\xE2\x80\x9E" => '"', // U+201E डबल लो-9 कोटेशन मार्क 
    "\xE2\x80\x9F" => '"', // U+201F डबल हाई-रिवर्स्ड-9 कोटेशन मार्क 
    "\xE2\x80\xB9" => "'", // U+2039 सिंगल लेफ्ट-पॉइंटिंग एंगल कोटेशन मार्क 
    "\xE2\x80\xBA" => "'", // U+203A सिंगल राइट-पॉइंटिंग एंगल कोटेशन मार्क 
); 
$char_val = array_keys($chr_map); 
// लेकिन: दक्षता के लिए आपको 
$rpl = array_values($chr_map); 
// इन दो सरणियों को पूर्व-गणना करनी चाहिए 
$str = str_replace($char_val, $rpl, html_entity_decode($str, ENT_QUOTES, "UTF-8"));

व्याख्या

प्रत्येक यूनिकोड कैरेक्टर ठीक एक "जनरल कैटेगरी" से संबंधित होता है।

इनमें से, जिनमें कोट कैरेक्टर हो सकते हैं वे हैं:

Ps "Punctuation, Open" 
Pe "Punctuation, Close" 
Pi "Punctuation, Initial quote (इसके उपयोग के आधार पर Ps या Pe की तरह व्यवहार कर सकता है)" 
Pf "Punctuation, Final quote (इसके उपयोग के आधार पर Ps या Pe की तरह व्यवहार कर सकता है)" 
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 यूरो साइन 
    "\xC2\x82" => "\xE2\x80\x9A", // U+201A सिंगल लो-9 कोटेशन मार्क 
    "\xC2\x83" => "\xC6\x92", // U+0192 हुक के साथ लैटिन स्मॉल लेटर f 
    "\xC2\x84" => "\xE2\x80\x9E", // U+201E डबल लो-9 कोटेशन मार्क 
    "\xC2\x85" => "\xE2\x80\xA6", // U+2026 हॉरिजॉन्टल एलिप्सिस 
    "\xC2\x86" => "\xE2\x80\xA0", // U+2020 डैगर 
    "\xC2\x87" => "\xE2\x80\xA1", // U+2021 डबल डैगर 
    "\xC2\x88" => "\xCB\x86", // U+02C6 मॉडिफायर लेटर सर्कमफ्लेक्स एक्सेंट 
    "\xC2\x89" => "\xE2\x80\xB0", // U+2030 प्रति मिल साइन 
    "\xC2\x8A" => "\xC5\xA0", // U+0160 कैरन के साथ लैटिन कैपिटल लेटर s 
    "\xC2\x8B" => "\xE2\x80\xB9", // U+2039 सिंगल लेफ्ट-पॉइंटिंग एंगल कोटेशन मार्क 
    "\xC2\x8C" => "\xC5\x92", // U+0152 लैटिन कैपिटल लिगेचर oe 
    "\xC2\x8E" => "\xC5\xBD", // U+017D कैरन के साथ लैटिन कैपिटल लेटर z 
    "\xC2\x91" => "\xE2\x80\x98", // U+2018 लेफ्ट सिंगल कोटेशन मार्क 
    "\xC2\x92" => "\xE2\x80\x99", // U+2019 राइट सिंगल कोटेशन मार्क 
    "\xC2\x93" => "\xE2\x80\x9C", // U+201C लेफ्ट डबल कोटेशन मार्क 
    "\xC2\x94" => "\xE2\x80\x9D", // U+201D राइट डबल कोटेशन मार्क 
    "\xC2\x95" => "\xE2\x80\xA2", // U+2022 बुलेट 
    "\xC2\x96" => "\xE2\x80\x93", // U+2013 एन डैश 
    "\xC2\x97" => "\xE2\x80\x94", // U+2014 एम डैश 
    "\xC2\x98" => "\xCB\x9C", // U+02DC स्मॉल टिल्डे 
    "\xC2\x99" => "\xE2\x84\xA2", // U+2122 ट्रेड मार्क साइन 
    "\xC2\x9A" => "\xC5\xA1", // U+0161 कैरन के साथ लैटिन स्मॉल लेटर s 
    "\xC2\x9B" => "\xE2\x80\xBA", // U+203A सिंगल राइट-पॉइंटिंग एंगल कोटेशन मार्क 
    "\xC2\x9C" => "\xC5\x93", // U+0153 लैटिन स्मॉल लिगेचर oe 
    "\xC2\x9E" => "\xC5\xBE", // U+017E कैरन के साथ लैटिन स्मॉल लेटर z 
    "\xC2\x9F" => "\xC5\xB8", // U+0178 डायरेसिस के साथ लैटिन कैपिटल लेटर y 
); 
$chr = array_keys($normalization_map); 
// लेकिन: दक्षता के लिए आपको 
$rpl = array_values($normalization_map); 
// इन दो सरणियों को पूर्व-गणना करनी चाहिए 
$str = str_replace($chr, $rpl, $str);

  1. - PHP में ऑब्जेक्ट को ऐरे में कन्वर्ट करें

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

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

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

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

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