我想用 php 在文本文件中写阿拉伯文本,但我没有找到如何从右到左写文本。我发现这篇文章理解双向文本
他们解释说我应该在我的字符串之前添加 unicode 字符 U+202E 和 U+202C 之后。但我不知道如何在 php 中将此 unicode 字符转换为字符串。我尝试过这样的事情,$content = "\u{202E}".$content."\u{202C}"
但没有奏效。
问问题
1734 次
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 代码点。第二个函数返回一个带有从右到左标记的字符串,第三个函数返回一个带有从左到右标记的字符串。在这两种情况下,字符串末尾都会恢复原始方向。
书写方向是否可视化仍然取决于客户。
于 2015-10-21T20:41:01.107 回答