2013-07-05 3 views
5

मैं अरबी पाठ को गैर अरबी समर्थित प्रोग्राम
में समर्थित करने के लिए एक कोड बनाने की कोशिश कर रहा हूं जिसमें मुझे बदलने के बाद टेक्स्ट को उलट करने की आवश्यकता होगी लेकिन यह कुछ कचरा दिखाता है वांछित परिणामStrRev() Dosent Support UTF-8

यहाँ के बजाय सामान कोड है:

<?php 
$string = "اهلا بك"; 
echo "$string <br>"; 
$Reversed = strrev($string); 
echo "<br><b>After Reverse</b><br><br>"; 
echo "<br> $Reversed"; 
?> 

परिणाम:

اهلا بك 

After Reverse 


�٨� �؄ه٧ 

मैं इसे जिस तरह से करने की आवश्यकता है यह उलट है लेकिन उलट है? गार्बेज नहीं !!

+0

हालांकि आप अपने खुद के प्रश्न का उत्तर दिया , ऐसे कई कार्य हैं जिन्हें यूटीएफ -8 को सही तरीके से संभालने में सक्षम होने के लिए प्रतिस्थापित करने की आवश्यकता है। http://stackoverflow.com/questions/16858915/migrating-a-php-plication-to-handle-utf-8/16862181#16862181 – Danack

उत्तर

9

आदेश है कि strrev() समर्थन UTF-8 आप इस Function

function utf8_strrev($str){ 
    preg_match_all('/./us', $str, $ar); 
    return join('', array_reverse($ar[0])); 
} 

उपयोग करने के लिए तो हम utf8_strev करने के लिए() हमारे कोड में strrev() chage करने के लिए जा रहा जरूरत बनाने के लिए:

$string = "اهلا بك"; 
echo "$string <br>"; 
$Reversed = utf8_strrev($string); // here we have changed it 
echo "<br><b>After Reverse</b><br><br>"; 
echo "<br> $Reversed"; 

और परिणाम है:

اهلا بك 

After Reverse 


كب الها 
+0

मान्य है, मैं अरबी नहीं बोलता; लेकिन यह वास्तव में मेरे लिए समान वर्णों की तरह नहीं दिखता है –

+0

@ मार्कबकर यह है, लेकिन अरबी में जब हम चरित्र को एक साथ रखते हैं तो यह पीछे की ओर या शब्द के सामने अपनी जगह से अलग दिखता है और यहां तक ​​कि अगर बीच में –

+0

अजीब: मुझे यकीन है कि यह तार्किक है यदि आप इसका उपयोग करते हैं ... मुझे लगता है कि यूनानी के कुछ निवासी हैं, σ जब शुरुआत में या बीच में या एक शब्द, और ς अंत में उपयोग किया गया –

संबंधित मुद्दे