我有以下字符串为我网站上的音乐播放器生成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或者如何将它合并到我现有的字符串中。
我必须摆脱这些查询,它们是不必要的,并且每天都会崩溃我的数据库。
答案 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 )); ?>