Reputation: 2649
I have an audio player working fine in HTML, but when I call if from a PHP echo it seems it doesn't get the div ID's name so it doesn't play my audio. Here's my code:
// 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>
';
}
For some reason the player doesn't play my audio, the audio URL is correct because if I use the same audio tag and code in an HTML file, it works perfectly.
What am I doing wrong in PHP?
Thanks!
Upvotes: 0
Views: 31
Reputation: 1497
PHP strings are not multiline. That means that you cannot just simply insert newlines.
You have to use heredoc syntax:
$str = <<<STR1
line1
line2
line3
...
STR1;
Or you can split the lines with "\n"
:
$str =
"line1\n" .
"line2\n" .
"line3";
You can still interpolate variables:
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;
Upvotes: 1