使用php将Audiomack Player嵌入到网站上

时间:2017-03-08 23:10:33

标签: php preg-match embed

我使用以下 preg match

if (preg_match('![?&]{1}v=([^&]+)!', 'youtubeurl' . '&', $m)) $video_id = $m[1];

获取youtube V 值,将其存储在 $ video_id 中,然后将其添加到iframe中;

<iframe width="100%" height="305" src="http://www.youtube.com/embed/<? echo $video_id; ?>?rel=2&autoplay=0" frameborder="0" allowfullscreen></iframe>

在我的网站上加载YouTube视频。我试图对Audiomack使用相同的方法,但它们的URL格式不同。

Audiomack使用以下网址格式;

https://www.audiomack.com/song/famous-dex/annoyed

他们的iframe如下;

<iframe src="https://www.audiomack.com/embed4/famous-dex/annoyed" scrolling="no" width="100%" height="110" scrollbars="no" frameborder="0"></iframe>

如何修改上面的 preg_match 以获取URL中的最后两个字符串以及斜杠,将其存储在变量中,然后从iframe中调用它?

例如。

$url = 'https://www.audiomack.com/song/famous-dex/annoyed';    
if (preg_match('![?&]{1}v=([^&]+)!', '$url' . '&', $m)) $audio_id = $m[1];

并且 $ audio_id 的值应该返回 famous-dex / annoyed 然后我可以将它插入到iframe中;

<iframe src="https://www.audiomack.com/embed4/<? echo $audio_id; ?>" scrolling="no" width="100%" height="110" scrollbars="no" frameborder="0"></iframe>

1 个答案:

答案 0 :(得分:2)

使用此代码:

$url = 'https://www.audiomack.com/embed4/famous-dex/annoyed';
if (preg_match('/.+\/(.+\/.+)$/', $url, $matches)) {
    $audio_id = $matches[1];
    echo $audio_id; // gives you famous-dex/annoyed
}
  1. 匹配任何其他内容,直至到达“/”
  2. 捕获由“/”
  3. 分隔的任意两个字符,单词等
  4. 结束比赛搜寻。
  5. 如果没有“$”,搜索将会失败,因为在这种情况下,它会强制搜索“从最后开始,向后”。