2

PHP を使用してテキスト ファイル内にアラビア語のテキストを書きたいのですが、テキストを右から左に書く方法が見つかりませんでした。私は、この記事を見つけまし 。しかし、このユニコード文字をphpで文字列に変換する方法がわかりません。このようなもので試しまし$content = "\u{202E}".$content."\u{202C}"たが、うまくいきませんでした。

4

1 に答える 1

3

はい、クライアントが双方向の動作をサポートしていない場合は、強制を使用する必要があります。これは、プレーン テキスト環境でよく発生します。これらの関数を使用して、PHP でそのようなテキストを作成する簡単な方法があります。

function utf8 ( $codepoint ) {
    // 200E = ltr mark
    // 200F = rtl mark
    return json_decode('"\u'.$codepoint.'"');
}

function rtl ( $string ) {
    return utf8('200f').$string.utf8('200e');
}

function ltr ( $string ) {
    return utf8('200e').$string.utf8('200f');
}

最初の関数は、Unicode utf-8 コードポイントを変換します。2 番目の関数は右から左へのマークを含む文字列を返し、3 番目の関数は左から右へのマークを含む文字列を返します。どちらの場合も、文字列の最後で元の方向が復元されます。

書く方向が視覚化されるかどうかは、クライアント次第です。

于 2015-10-21T20:41:01.107 に答える