1

エスケープ文字の正しい構文を見つけたり、PHP で iframe 出力をエコーまたは印刷したりするのに問題があります。

 $youtube = $_SESSION['SESS_YOUTUBE'];
    if($_SESSION['SESS_YOUTUBE'] == '')
    {
         print "<div class=\"someClass\">Some Text Here</div>";
    }
    else
    {
         print "<iframe id="player" width="425" height="350" src="http://www.youtube.com/embed/$youtube" frameborder="0"></iframe>";
    }

誰かが私を正しい方向に向けるか、エスケープ文字を説明するための便利なリンクを提供してもらえますか?

ありがとうございました。

4

3 に答える 3

3

バックスラッシュを使用して二重引用符をエスケープする必要があります。または、単一引用符も使用できます。

あなたのバージョンでは、ifブロックはまったく問題ありません。同様に、ここに示すようにelse二重引用符をエスケープして、ブロックも修正する必要があります。\"

$youtube = $_SESSION['SESS_YOUTUBE'];
if($_SESSION['SESS_YOUTUBE'] == '') {
     print "<div class=\"someClass\">Some Text Here</div>";
}
else {
     print "<iframe id=\"player\" width=\"425\" height=\"350\" src=\"http://www.youtube.com/embed/$youtube\" frameborder=\"0\"></iframe>";
}

一重引用符の使用:

$youtube = $_SESSION['SESS_YOUTUBE'];
if($_SESSION['SESS_YOUTUBE'] == '') {
     print '<div class="someClass">Some Text Here</div>';
}
else {
     print '<iframe id="player" width="425" height="350" src="http://www.youtube.com/embed/$youtube" frameborder="0"></iframe>';
}
于 2012-07-09T20:52:31.473 に答える
0

すべての二重引用符 (") をバックスラッシュ (\) でエスケープします。これは機能するはずです。

$youtube = $_SESSION['SESS_YOUTUBE'];
if($_SESSION['SESS_YOUTUBE'] == '') {
    print "<div class=\"someClass\">Some Text Here</div>";
} else {
    print "<iframe id=\"player\" width=\"425\" height=\"350\" src=\"http://www.youtube.com/embed/$youtube\" frameborder=\"0\"></iframe>";
}

または、次のようにステートメントを一重引用符で囲むこともできます。

$youtube = $_SESSION['SESS_YOUTUBE'];
    if($_SESSION['SESS_YOUTUBE'] == '') {
        print "<div class=\"someClass\">Some Text Here</div>";
    } else {
        print '<iframe id="player" width="425" height="350" src="http://www.youtube.com/embed/$youtube" frameborder="0"></iframe>';
    }
于 2012-07-09T20:49:33.413 に答える