如何修剪查询字符串的中间部分?

时间:2012-01-28 10:48:14

标签: php string url

我想修改一些$ _SERVER ['QUERY_STRING']

$_SERVER['QUERY_STRING'] : "http://domain.com/blog/topics/post-name/uploads/flashfile.swf"

I want this output:        "http://domain.com/uploads/flashfile.swf"

因此,中间部分“blog / topics / post-name /”需要进行尝试。实际的单词可以更改取决于query_string处理的页面,尤其是post-name是不可预测的。 我该如何修剪这个中间部分?

编辑:flashfile.swf只是一个例子,它可以是具有不同扩展名的不同名称。

3 个答案:

答案 0 :(得分:1)

最简单的方法是,

$url = "http://domain.com/blog/topics/post-name/uploads/flashfile.swf";
$str = str_replace($url, 'blog/topics/post-name/', '');

这是一个动态的。

$p = parse_url($url);
$v = basename($url);
$d = basename(dirname($url));
$str = $p['scheme']."://". $p['host']."/$d/$v";
echo $str;

答案 1 :(得分:0)

$parsed = parse_url( $_SERVER['QUERY_STRING'] );
$trimed = $parsed[ 'scheme' ] . '://' . $parsed[ 'host' ] . '/uploads/flashfile.swf';

答案 2 :(得分:0)

你可以这样做:

$url = "http://domain.com/blog/topics/post-name/uploads/flashfile.swf";
$new_url = str_replace($url, 'blog/topics/post-name/', '');