1

このようにphpでiframeをエコーアウトしようとしています。

echo
"<li><iframe src=\"http://localhost/ptb1/includes/mod_uploads/profile_pics/index.php" width="188" height="258" scrolling="no" style="overflow:hidden; margin-top:-4px; margin-left:-4px; border:none;\"></iframe></li>";

何をやってもうまくいかない。誰かがこれをphp内で書く正しい方法を教えてもらえますか?

4

3 に答える 3

6

二重引用符を適切にエスケープしていません。ビットの前と最後にのみエスケープしますhttp://が、その間はエスケープしません (これも必要です)。HTML を一重引用符で囲む場合、すべての二重引用符をエスケープする必要はありません。次のようにしてみてください。

echo '<li><iframe src="http://localhost/ptb1/includes/mod_uploads/profile_pics/index.php" width="188" height="258" scrolling="no" style="overflow:hidden; margin-top:-4px; margin-left:-4px; border:none;"></iframe></li>';

ただし、文字列で変数を使用していないため、代わりに、PHP から少し「ステップアウト」して、次のようなプレーンな HTML を使用することもできます。

<?php
// Your code starts here somehwere, now close the PHP tag
?>
<li><iframe src="http://localhost/ptb1/includes/mod_uploads/profile_pics/index.php" width="188" height="258" scrolling="no" style="overflow:hidden; margin-top:-4px; margin-left:-4px; border:none;"></iframe></li>
<?php
// ... and continue right here
于 2012-12-17T19:05:10.550 に答える
1

毎回ではなくsrc=、引用符をエスケープしているだけだからですか?border:none;

編集:そして@Oldskoolは私を打ち負かしましたxD

于 2012-12-17T19:06:49.583 に答える
0

二重引用符を表示する場合は、これを試してください

<?php    
echo "<li><iframe src=\"http://localhost/ptb1/includes/mod_uploads/profile_pics/index.php\" width=\"188\" height=\"258\" scrolling=\"no\" style=\"overflow:hidden; margin-top:-4px; margin-left:-4px; border:none;\"></iframe></li>";
?>
于 2012-12-17T19:30:57.477 に答える