9

アラビア語をサポートしていないプログラムでサポートされるように、アラビア語のテキストを置き換えるコードを作成しようとしています。
置換後にテキストを逆にする必要がありますが、必要な結果ではなくゴミが表示されます

コードは次のとおりです。

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

結果 :

اهلا بك

After Reverse


�٨� �؄ه٧

私はそれが逆である必要がありますか?ガベージではありません!!

4

4 に答える 4

14

UTF-8をstrrev()サポートするには、これを使用する必要がありますFunction

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


كب الها
于 2013-07-05T20:34:12.507 に答える
2

私はこれを使用しています

ここから取得http://php.net/manual/en/function.strrev.php#122953

function mb_strrev($str){
    $r = '';
    for ($i = mb_strlen($str); $i >= 0; $i--) {
        $r .= mb_substr($str, $i, 1);
    }

    return $r;
}
于 2019-01-05T16:22:03.550 に答える