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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中没有从echo中读取字符串ID相关的知识,希望对你有一定的参考价值。

我有一个音频播放器在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中做错了什么?

谢谢!

答案

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

你必须使用heredoc语法:

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

或者你可以用" "分割线条:

$str = 
    "line1
" .
    "line2
" .
    "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;

以上是关于PHP中没有从echo中读取字符串ID的主要内容,如果未能解决你的问题,请参考以下文章

XAMPP,PHP:echo 为从数据库读取的 blob 添加了两个空格

从 Apollo 缓存中读取特定类型的所有片段

Apollo 可以从缓存中读取部分片段吗?

PHP 要在echo“”中添加变量怎么填

如何在 PHP“回声”中插入带有撇号和其他特殊字符的文本? [复制]

php的echo 和 return的区别