PHP中没有从echo中读取字符串ID

时间:2018-03-20 16:12:22

标签: javascript php url audio

我有一个音频播放器可以正常使用HTML,但是当我从PHP回调中调用时,它似乎没有获得div ID的名称,所以它不播放我的音频。 这是我的代码:

// Show audio
if ($sObj->get('audio') != null) {
    $sAudio = $sObj->get('audio');
    $audioURL = $sAudio->getURL();
    $playerName = 'player';
    echo '
    <audio id="player" ontimeupdate="updateTime()" src="'.$audioURL.'"></audio>
    <a class="btn btn-primary btn-round" id="songPlay" onclick="play('.$playerName.')"> --> THE ISSUE SEEMS TO BE HERE...

<i class="fa fa-play"></i></a>
<a class="btn btn-primary btn-round" id="songPause" onclick="pause()"><i class="fa fa-pause"></i></a>
<a class="btn btn-primary btn-round" id="songStop" onclick="stopSong()"><i class="fa fa-stop"></i></a>
<div id="songTime"><strong>0:00 / 0:00</strong></div>
<div id="songSlider" onclick="setSongPosition(this,event)"><div id="trackProgress"></div></div>
';
}

由于某种原因播放器不播放我的音频,音频网址是正确的,因为如果我在HTML文件中使用相同的音频标签和代码,它就能完美运行。

我在PHP中做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

PHP字符串不是多行的。这意味着您不能只是简单地插入换行符。

您必须使用heredoc语法:

$str = <<<STR1
line1
line2
line3
...
STR1;

或者您可以使用"\n"分割线条:

$str = 
    "line1\n" .
    "line2\n" .
    "line3";

您仍然可以插入变量:

echo <<<HTML
    <audio id="player" ontimeupdate="updateTime()" src="$audioURL"></audio>
    <a class="btn btn-primary btn-round" id="songPlay" onclick="play('$playerName')"><i class="fa fa-play"></i></a>
    <a class="btn btn-primary btn-round" id="songPause" onclick="pause()"><i class="fa fa-pause"></i></a>
    <a class="btn btn-primary btn-round" id="songStop" onclick="stopSong()"><i class="fa fa-stop"></i></a>
    <div id="songTime"><strong>0:00 / 0:00</strong></div>
    <div id="songSlider" onclick="setSongPosition(this,event)">
        <div id="trackProgress"></div>
    </div>
HTML;