php字符串串联(无)RTL

时间:2019-03-17 11:04:17

标签: php string utf-8

我正在尝试使用Urdu字符串创建URL。它们是UTF8编码的,RTL正常。对于其他所有情况,默认的PHP行为都是极好的。它会自动将代码中的正常LTR动作调整为RTL作为输出。 使用PHP 7.2.13。

就像“ a”一样。 “ b”。如果RTL标记了这些字符串,则RTL中的“ c”会自动显示为“ cba”。

我的问题是制作网址。 LTR由斜杠分隔。文件夹1 /文件夹2 /文件夹3。当所有三个字符串均为Urdu时,有趣的输出将变为folder3 / folder2 / folder1。

下面的示例代码应该同时在LTR和RTL语言中运行,而我正在尝试应显示此问题:

<?php
$url_path1 = "اتر پردیش"; #translates as uttar pradesh (notice two words and a space)
$url_path2 = "کانپور";    #translates as kanpur
$url_path = "$url_path1/$url_path2";
echo "in Terminal: $url_path\n";
$html = <<<H
<!DOCTYPE html>
<html lang="ur">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
Url Path: $url_path
</body>
</html>
H;
file_put_contents("del-urdu.html",$html);

在终端输出(iTerm)中,它正确显示(path1 / path2),而在打开生成的del-urdu.html文件时,它的显示方式有所不同(path2 / path1)。

如何关闭此行为以进行字符串连接?

1 个答案:

答案 0 :(得分:1)

可以。即使我们看到folder3 / folder2 / folder1
但实际上是folder1 / folder2 / folder3。
不用担心。