如何删除查询字符串的中间部分?

3
我想修改一些 $_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/”需要被修剪。实际单词可能会根据处理查询字符串的页面而改变,特别是post-name是不可预测的。

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


这与flex有什么关系?你想在哪里修剪它?在flex还是php中? - michael
抱歉有些混淆,查询字符串将被 Flex 对象使用。代码是用 PHP 编写的。 - Jenny
3个回答

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;

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

0
你可以这样做:
$url = "http://domain.com/blog/topics/post-name/uploads/flashfile.swf";
$new_url = str_replace($url, 'blog/topics/post-name/', '');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接