我想用php在文本文件中写阿拉伯语文本,但我还没有找到如何从右到左书写文本。我找到了这篇文章understanding-bidirectional-text
他们解释说我应该在我的字符串之前添加unicode字符U + 202E和U + 202C之后。但我不知道如何将这个unicode字符转换为php中的字符串。我试过这样的事情$content = "\u{202E}".$content."\u{202C}"
,但它没有用。
答案 0 :(得分:3)
是的,如果您的客户端不支持双向行为,则需要使用force。这通常发生在纯文本环境中。使用以下函数可以轻松地在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代码点。第二个函数返回一个带有从右到左标记的字符串,第三个函数返回一个带有从左到右标记的字符串。在两种情况下,在字符串的末尾都恢复原始方向。
仍然取决于客户端是否可以看到书写方向。