php字符串连接(不含)RTL

php字符串连接(不含)RTL,php,string,utf-8,Php,String,Utf 8,我正在尝试使用乌尔都语字符串创建URL。它们是UTF8编码的,RTL是正常的。对于所有其他情况,默认的PHP行为都非常棒。它可以自动将代码中的正常LTR操作调整为RTL作为输出。 使用PHP7.2.13 像“a”。“b”。如果RTL标记了这些字符串,RTL中的“c”将自动显示为“cba” 我的问题是制作URL。它们是用斜线分隔的LTR。折叠1/折叠2/折叠3。有趣的输出当所有三个字符串都是乌尔都语时,它就变成了folder3/folder2/folder1 下面的示例代码应该可以在LTR和RTL

我正在尝试使用乌尔都语字符串创建URL。它们是UTF8编码的,RTL是正常的。对于所有其他情况,默认的PHP行为都非常棒。它可以自动将代码中的正常LTR操作调整为RTL作为输出。 使用PHP7.2.13

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

我的问题是制作URL。它们是用斜线分隔的LTR。折叠1/折叠2/折叠3。有趣的输出当所有三个字符串都是乌尔都语时,它就变成了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);

没关系。即使我们看到folder3/folder2/folder1
但它是真实的folder1/folder2/folder3。

别担心。

没关系。你们看到的URL是颠倒的,因为浏览器不支持RTL字符。我不是在说浏览器。浏览器也支持RTL,甚至在地址栏中也是如此。我只是在谈论php方面。请阅读“rtl”的描述!你能提供一份报告吗?许多人在使用乌尔都语字母(可能包括你)编写脚本时会遇到问题,而且有具体的代码会使解释变得多余,因为每个人都可以检查事实。顺便问一下:你的PHP版本是什么?之前给出的代码正是我写的。现在我尝试了更多的上下文和工作示例。你说得对。我的代码错误地生成了URL,正确地解析了相同的错误URL。真的很有趣,但我不希望URL中的文件夹路径改变它们的位置。就这些。