1

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

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

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

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

我已经研究了如何拆分 url,但我还远不是一个 php 天才,所以我不知道拆分或使用 preg_replace 的天气,也不知道如何将它合并到我现有的字符串中。

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

4

2 回答 2

4
list($keep) = explode('?', '/public/music_song/df/74/746b_2112.mp3?c=ec1e');
于 2012-05-01T19:41:32.450 回答
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 )); ?>
于 2012-05-01T20:51:13.460 回答