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

问题描述 投票:0回答:1

我有一个音频播放器在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>
';
}

由于某些原因,播放器不播放我的音频,音频URL是正确的,因为如果我在HTML文件中使用相同的音频标签和代码,它可以完美地工作。

我在PHP中做错了什么?

谢谢!

javascript php url audio
1个回答
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;
© www.soinside.com 2019 - 2024. All rights reserved.