दिलचस्प पोस्ट
स्क्रॉलएव्यू में वेबदृश्य Http://download.eclipse.org/releases/indigo पर रिपॉजिटरी पढ़ने में असमर्थ IIS / ASP.NET के सभी उपयोगकर्ता खाते क्या हैं और वे अलग-अलग कैसे हैं? कैसे ग्रहण में एक नया एवीडी बनाने के लिए? JQuery का उपयोग करके IE में चुनिंदा विकल्प छुपाएं समानांतर बाश स्क्रिप्ट में कई स्क्रिप्ट चलाना एक छवि को एक दूसरी छवि पर कैसे खींचें? कोड-पहले बनाम मॉडल / डाटाबेस-पहले Xamarin.Forms बनाम Xamarin मूल का उपयोग करने के लिए कब? मैं जी.आई.एस.पी.ओ. आउटपुटस्ट्रीम का इस्तेमाल करते हुए एक स्ट्रिंग ज़िप और अनझिप कैसे कर सकता हूं जो .Net के साथ संगत है? पायथन डिक्शनरी: प्रकार एरर: अबाईबल प्रकार: 'सूची' एक 403 प्राप्त करना – Google सेवा खाते के लिए निषिद्ध समूह के सारांश आंकड़े कैसे प्राप्त करें ReSharper GetHashCode ओवरराइड के लिए '397' का उपयोग क्यों किया जाता है? एक्स बाइट्स की स्मृति आकार को सीमित किया गया

PHP: UTF-8 स्ट्रिंग में निकटतम 7-बिट ASCII समकक्ष के साथ umlauts बदलें

मैं क्या करना चाहता हूं, स्ट्रिंग से सभी लहजे और umlauts को निकालने के लिए, "लार्म" को "लार्म" या "एंड्रॉ" में "औररे" में बदलना है। मैंने जो करने की कोशिश की थी वह स्ट्रिंग को utf8_decode करना था और फिर उस पर स्ट्र्रट का उपयोग किया गया था, लेकिन जब से मेरी स्रोत फ़ाइल को यूटीएफ -8 फ़ाइल के रूप में सहेजा जाता है, तो मैं सभी umlauts के लिए आईएसओ -8859-15 वर्णों को नहीं दर्ज कर सकता हूं- संपादक सम्मिलित करता है UTF-8 वर्ण

जाहिर है इस के लिए एक समाधान है कि एक आईएसओ -8859-15 फाइल शामिल है, लेकिन एक और आवश्यकता शामिल करने के लिए एक बेहतर तरीका होना चाहिए शामिल होगा?

echo strtr(utf8_decode($input), 'ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ', 'SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy'); 

अद्यतनः शायद मैं कुछ करने की कोशिश कर रहा था: मैं वास्तव में umlauts को हटाना नहीं चाहता, लेकिन उन्हें अपने निकटतम "एक अक्षर एएससीआईआई" समकक्ष के साथ बदलने के लिए

Solutions Collecting From Web of "PHP: UTF-8 स्ट्रिंग में निकटतम 7-बिट ASCII समकक्ष के साथ umlauts बदलें"

 iconv("utf-8","ascii//TRANSLIT",$input); 

विस्तारित उदाहरण

एक छोटी सी चाल है जिसके लिए स्थानीय भाषा सेट करने या विशाल अनुवाद तालिकाओं की आवश्यकता नहीं होती है:

 function Unaccent($string) { if (strpos($string = htmlentities($string, ENT_QUOTES, 'UTF-8'), '&') !== false) { $string = html_entity_decode(preg_replace('~&([az]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|tilde|uml);~i', '$1', $string), ENT_QUOTES, 'UTF-8'); } return $string; } 

इसके लिए ठीक से काम करने की एकमात्र आवश्यकता आपकी फ़ाइलों को यूटीएफ -8 में सहेजने के लिए है (जैसा कि आपको पहले ही होना चाहिए)।

आप यह भी कोशिश कर सकते हैं

 $string = "Fóø Bår"; $transliterator = Transliterator::createFromRules(':: Any-Latin; :: Latin-ASCII; :: NFD; :: [:Nonspacing Mark:] Remove; :: Lower(); :: NFC;', Transliterator::FORWARD); echo $normalized = $transliterator->transliterate($string); 

लेकिन आपको http://php.net/manual/en/book.intl.php उपलब्ध होना चाहिए

ठीक है, खुद को एक स्पष्ट हल मिल गया, लेकिन यह सबसे अच्छा प्रदर्शन के विषय में नहीं है …

 echo strtr(utf8_decode($input), utf8_decode('ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ'), 'SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy'); 

अरबी और फ़ारसी उपयोगकर्ताओं के लिए मैं डायैरिटिक्स को हटाने का सुझाव देता हूं:

  $diacritics = array('َ','ِ','ً','ٌ','ٍ','ّ','ْ','ـ'); $search_txt = str_replace($diacritics, '', $diacritics); 

अरबी कीबोर्ड में टाइपिंग डायएक्रिटिक्स के लिए आप इस आस्सी (वे कोड ऐस्की नहीं यूनिकोड) का उपयोग कर सकते हैं, विंडोज़ संपादकों में डायरेक्ट्रिटिक टाइपिंग डायरेक्ट्रिटिक सीधे या ऑल्ट + (डायकेट्रिक वर्ण का कोड टाइप करें) इस कोड

(0243) (0246) (0245) (0240) (0242) (0241) (0250) (0248) (0220)

मुझे पता चला कि यह एक फ्रेंच और जर्मन में सबसे सुसंगत परिणाम देता है मेटा टैग को utf-8 सेट करने के साथ, मैंने इसे किसी फ़ंक्शन में स्थानांतरित करने के लिए शब्दों की एक सरणी से एक पंक्ति लौटा दी है और यह सही काम करता है।

 htmlentities ( $line, ENT_SUBSTITUTE , 'utf-8' )