3

文字列が

$uni_str="06280628002006280628";

アラビア語では、 بب بب です。

だから、どうすればhtmlを使わずにphpに変換できますか:

    for($i=0; $i<strlen($uni_str); $i+=4)
    {
        $text_str .= "&#x".substr($uni_str,$i,4).";";
    }

このコードは結果を html ページで表示する問題を解決するだけなので、

しかし、私はしたいのですが、結果は php variable です。

上記のコードの結果は次のようになりました

&#x0628;&#x0628;&#x0020;&#x0020;&#x0628;&#x0628;
4

3 に答える 3

2

私は解決策を見つけました、助けてくれることを願っています:

function uni2arabic($uni_str) 
{   
      for($i=0; $i<strlen($uni_str); $i+=4)
         {
                $new="&#x".substr($uni_str,$i,4).";"; 
                $txt = html_entity_decode("$new", ENT_COMPAT, "UTF-8");
                $All.=$txt;
         }

    return $All;
} 

変数 $All にはアラビア文字列が含まれます

于 2013-04-11T16:33:07.160 に答える
1

16 進数を一連のバイトにデコードするために使用hex2binすると、バイトの各ペアを UTF-16 コード単位として展開できます (これは、文字列が表していると想定しています)。

UTF-8 テキスト出力を生成していると仮定します。

iconv('UTF-16BE', 'UTF-8', hex2bin('06280628002006280628'))
于 2013-04-10T17:46:54.977 に答える