【发布时间】:2015-11-11 03:49:27
【问题描述】:
我通过使用preg_match_all 函数在我的WordPress 帖子中获取SoundCloud 音频网址,在PHP 中创建了一个正则表达式。正则表达式可以正常工作,没有任何问题:
preg_match_all[0][0] = https://soundcloud.com/anevo-remix/h3llo-anevo-remix-final
当我尝试preg_match_all[0][0] 时,播放器无法加载,但是当我输入https://soundcloud.com/anevo-remix/h3llo-anevo-remix-final url 时,播放器加载没有任何问题。如何使用 PHP 代码来加载播放器?
<?php
$soundcloud_pattern = "/((http:\/\/(soundcloud\.com\/.*|soundcloud\.com\/.*\/.*|soundcloud\.com\/.*\/sets\/.*|soundcloud\.com\/groups\/.*|snd\.sc\/.*))|(https:\/\/(soundcloud\.com\/.*|soundcloud\.com\/.*\/.*|soundcloud\.com\/.*\/sets\/.*|soundcloud\.com\/groups\/.*)))/i";
if(preg_match_all($soundcloud_pattern, $subject, $soundcloud_audio_url)) {
var_dump($soundcloud_audio_url);
echo '
<script src="https://connect.soundcloud.com/sdk/sdk-3.0.0.js"></script>
<div id="soundcloud-audio"></div>
<script type="text/JavaScript">
SC.oEmbed("'.$soundcloud_audio_url[0][0].'", {
element: document.getElementById("soundcloud-audio")
});
</script>';
}
?>
【问题讨论】:
-
生成的HTML是什么样子的(即使用“查看页面源代码”)?
-
我发现问题了。当我把 php 代码导致换行符。但我想删除我的 php 代码中的新换行符我该怎么做?
-
“换行符”在哪里?换行符是如何导致问题的?
-
当我使用 php 代码时,第一个双引号 ramain 在这一行
SC.oEmbed("soundcloud url但第二个双引号出现在这一行"{element: document.getElementById("soundcloud-audio")当我将 url 放在双引号之间时,我手动使用了 url同一行不会引起任何问题,但是当第二个双引号出现新行时,不要加载播放器
标签: javascript php regex