как избежать изменения адреса URL на языках RTL - PullRequest
1 голос
/ 04 апреля 2010

Эй, ребята, я работаю над заданием, чтобы сделать ссылки на мою историю, как это

http://localhost/mycms/article/test/

я использовал:

 $mtitle = str_replace("\"", "'", $title);
 $slug_title = mysql_real_escape_string($mtitle);

и ссылка на ссылку, чтобы показать заголовок истории

в другом php-файле я использовал два массива в качестве модератора для вкладки Google

$urlin = array(
"'(?<!/)modules.php\?name=News&amp;file=article&amp;title=([a-zA-Z0-9_-]*)'",
"'(?<!/)modules.php\?name=News&amp;file=tags&tag=([a-zA-Z0-9_-]*)'"
);

$urlout = array(
"article/\\1/",
"article/tags/"
);

и он автоматически меняет URL

но когда дело доходит до языков RTL, таких как арабский, происходит сбой

например. :

http://localhost/CMS/article//صفحات

пока должно быть так:

http://localhost/CMS/article/صفحات/

я пробовал разные способы исправить это, но ни один из них не работал

Ответы [ 2 ]

1 голос
/ 05 апреля 2010

Арабский справа налево, а английский слева направо, это может быть частью проблемы? Просто угадай.

Если вы хотите разбить элементы, используйте

$urlparts=explode("/",$url);

$ urlparts теперь является массивом, в котором есть каждый элемент.

$urlparts[0]="http:";
$urlparts[1]=""; // (because of //)
$urlparts[2]="localhost";
$urlparts[3]="CMS";
$urlparts[4]="article";
$urlparts[5]=""; // (because of //)
$urlparts[6]="صفحات"; //(persian for pages)

Я полагаю, вы можете собрать его обратно?

0 голосов
/ 04 апреля 2010

Я предлагаю разделить URL, а затем заменить каждую часть, а затем собрать строку как один процесс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...