如何避免在rtl语言中更改URL地址

时间:2010-04-04 07:45:38

标签: php seo

嘿伙计们正在完成一项任务,让我的故事像这样的链接

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

我用过:

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

和显示故事标题的href链接

在其他php文件中我使用两个数组作为谷歌标签的主持人

$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/"
);

并自动更改网址

但是当它转向RTL语言如阿拉伯语时,它失败了

e.g。 :

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

虽然它应该是这样的:

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

我尝试了不同的方法来解决这个问题,但没有一个能够解决这个问题

3 个答案:

答案 0 :(得分:1)

阿拉伯语是从右到左,英语是从左到右,这可能是问题的任何一部分吗? 只是猜测。

如果你想拆分元素,请使用

$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)

你可以把它重新组合起来吗?

答案 1 :(得分:0)

我建议拆分URL,然后替换每个部分,然后将字符串重新组合为一个进程。

答案 2 :(得分:0)

我遇到了与使用下面的URL相同的问题,并希望在斜杠前的URL末尾使用_3904。

http://9th-class.result.pk/punjab/urdu/short-questions/chapter-4_شاعروں-کے-لطیفے_3904/

但是它对我不起作用,所以我将网址更改为

http://9th-class.result.pk/punjab/urdu/short-questions/chapter-4_شاعروں-کے-لطیفے_c3904/

效果很好。