编程语言
首页 > 编程语言> > php – StrRev()Dosent支持UTF-8

php – StrRev()Dosent支持UTF-8

作者:互联网

我正在尝试制作一个替代阿拉伯语文本的代码,以支持非阿拉伯语支持的程序
因为我需要在替换后反转文本但它显示一些垃圾内容而不是想要的结果

这是代码:

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

结果:

اهلا بك

After Reverse


�٨� �؄ه٧

我需要它是它的方式,但逆转?不是垃圾!!

解决方法:

为了使strrev()支持UTF-8
你需要使用这个功能

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

所以我们要在我们的代码中将strrev()变为utf8_strev():

$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


كب الها

标签:unicode-string,php,utf-8,reverse
来源: https://codeday.me/bug/20191001/1838797.html