在php中编码包含连字符的网址

时间:2017-05-08 01:19:51

标签: php wordpress urlencode

我有以下网址:http://test.com/client/!MG2s-/

我希望能够抓住slu and并在我的代码中进一步使用

使用以下代码:

!mg2s

输出为$page_slug= urlencode($post->post_name); $str = str_replace('-', '%2D', $page_slug); echo $str;

即使网址为http://test.com/client/%21MG2s%2D/,结果仍然相同。 slug是从第三方应用程序生成的,因此连字符是必需的。我知道短划线用于清理标题,但我需要找到一种显示连字符的方法。

我也尝试过没有成功:

cp -u

是否可以显示连字符?

进一步说明:这只发生在以连字符结尾的slu ..插入连字符的插头没有显示连字符的问题。

1 个答案:

答案 0 :(得分:0)

找到解决方案here

$url="http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$url_path=parse_url( $url, PHP_URL_PATH );
$page_slug=pathinfo( $url_path, PATHINFO_BASENAME );

而不是使用

$page_slug=$post->post_name;