यह मेरी समस्या है: मेरी भाषा (पुर्तगाली) आईएसओ -885 9 -1 चार एन्कोडिंग का उपयोग करती है!PHP में मल्टीबाइट स्ट्रिंग से एक चरित्र प्राप्त करने का सरल तरीका है?
mb_internal_encoding('ISO-8859-1');
$str = "coração";
$len = mb_strlen($str,'UTF-8');
for($i=0;$i<$len;++$i)
echo mb_substr($str, $i, 1, 'UTF-8')."<br/>";
यह पैदा करता है:: जब मैं 'coração' (दिल) मैं का उपयोग इस तरह की स्ट्रिंग से एक चरित्र का उपयोग चाहते
c o r a ç ã o
यह ठीक काम करता है ... लेकिन मेरा मुद्दा है अगर के उपयोग mb_substr फ़ंक्शन सामान्य स्ट्रिंग सामान्य पहुंच के रूप में तेज़ नहीं है! लेकिन मुझे ऐसा करने का एक आसान तरीका चाहिए .... जैसे सामान्य स्ट्रिंग चरित्र पहुंच में: echo $ str [$ pos] .... यह संभव है?
खैर ... लेकिन मेरे सवाल इन पहुंच करने के लिए एक कारगर तरीका है। मैंने एक सामान्य स्ट्रिंग कॉन्सटेनेशन लूप का परीक्षण किया ($ new_str। = $ Old_str [2] - बस परीक्षण के लिए ...) और mb_substr ($ new_str। = Mb_substr ($ old_str, 2, 1, 'UTF-8') का उपयोग करके I यह मिला (लूप 50 000 पुनरावृत्तियों के साथ): 0.016 एस 4.98020 91121674 एस के खिलाफ सामान्य पहुँच के लिए mb_substr फ़ंक्शन के लिए! यह एक बड़ी प्रदर्शन समस्या है! –
एक निश्चित चौड़ाई एन्कोडिंग के साथ आप एक निश्चित गुणक का उपयोग कर सकते हैं। –
मैं यह कैसे कर सकता हूं? मुझे एक उदाहरण दिखाएं! –