从php中生成的url字符串中删除不需要的查询

时间:2012-05-01 19:40:00

标签: php split

我有以下字符串为我网站上的音乐播放器生成mp3网址。

<?php echo $song->getTitle() ?>

导致 /public/music_song/df/74/746b_2112.mp3?c=ec1e

我想从字符串中删除查询 导致 /public/music_song/df/74/746b_2112.mp3

我已经研究了如何分割网址,但我还远没有成为一个php天才,所以我不知道天气要拆分或使用preg_replace或者如何将它合并到我现有的字符串中。

我必须摆脱这些查询,它们是不必要的,并且每天都会崩溃我的数据库。

2 个答案:

答案 0 :(得分:4)

list($keep) = explode('?', '/public/music_song/df/74/746b_2112.mp3?c=ec1e');

答案 1 :(得分:1)

$parsedInput = parse_url('/public/music_song/df/74/746b_2112.mp3?c=ec1e');
echo $parsedInput['path'];
// Results in /public/music_song/df/74/746b_2112.mp3

编辑:由于我没有使用SocialEngine,我猜你需要做的是:

<?php $parsed = parse_url($song->getFilePath());
      echo $this->htmlLink($parsed['path'], 
                           $this->string()->truncate($song->getTitle(), 50), 
                           array('class' => 'music_player_tracks_url', 
                                 'type' => 'audio', 
                                 'rel' => $song->song_id )); ?>