php函数将url中的阿拉伯语文本解码为像firefox一样的百分比编码

时间:2012-12-17 11:37:06

标签: php

我有这个网址

http://al-mashhad.com/News/النيابة-تستمع-لأقوال-خالد-يوسف-في-بلاغه-ضد-أبو-إسم/141274.aspx

firefox将其更改为

http://al-mashhad.com/News/%D8%A7%D9%84%D9%86%D9%8A%D8%A7%D8%A8%D8%A9-%D8%AA%D8%B3%D8%AA%D9%85%D8%B9-%D9%84%D8%A3%D9%82%D9%88%D8%A7%D9%84-%D8%AE%D8%A7%D9%84%D8%AF-%D9%8A%D9%88%D8%B3%D9%81-%D9%81%D9%8A-%D8%A8%D9%84%D8%A7%D8%BA%D9%87-%D8%B6%D8%AF-%D8%A3%D8%A8%D9%88-%D8%A5%D8%B3%D9%85/141274.aspx

我希望php功能完成该任务

我试过urencode(),但是那样做了

http%3A%2F%2Fal-mashhad.com%2FNews%2F%D8%A7%D9%84%D9%86%D9%8A%D8%A7%D8%A8%D8%A9-%D8%AA%D8%B3%D8%AA%D9%85%D8%B9-%D9%84%D8%A3%D9%82%D9%88%D8%A7%D9%84-%D8%AE%D8%A7%D9%84%D8%AF-%D9%8A%D9%88%D8%B3%D9%81-%D9%81%D9%8A-%D8%A8%D9%84%D8%A7%D8%BA%D9%87-%D8%B6%D8%AF-%D8%A3%D8%A8%D9%88-%D8%A5%D8%B3%D9%85%2F141274.aspxstring(296) "http://al-mashhad.com%2FNews%2F%D8%A7%D9%84%D9%86%D9%8A%D8%A7%D8%A8%D8%A9-%D8%AA%D8%B3%D8%AA%D9%85%D8%B9-%D9%84%D8%A3%D9%82%D9%88%D8%A7%D9%84-%D8%AE%D8%A7%D9%84%D8%AF-%D9%8A%D9%88%D8%B3%D9_-%D9_%D9%8A-%D8%A8%D9%84%D8%A7%D8%BA%D9%87-%D8%B6%D8%AF-%D8%A3%D8%A8%D9%88-%D8%A5%D8%B3%D9%85%2F141274.aspx"

我希望它只更改阿拉伯语文本,就像mozilla firefox

一样

因为它破坏了http://和/

1 个答案:

答案 0 :(得分:2)

您可以在考虑斜杠字符(/)的情况下拆分完整URI,并仅编码最终片段。

您还可以访问服务器信息。在PHP中,您可以访问变量$ _SERVER ['SCRIPT_NAME']来恢复要编码的URI部分。我不知道ASP是如何做到的。