在 PHP 中编写 javascript 代码时出现引号问题

发布于 2024-12-21 14:50:31 字数 426 浏览 5 评论 0原文

我想知道将 javascript 代码写入 PHP 变量的最佳方法是什么?

有时它可能是相当长的 javascript 代码...有没有一种方法可以不转义所有引号?

<?php
echo '
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">

a_div.innerHTML = '<iframe style="width:100%;height:300px;" id="iframe_upload" src="index.php">';

</script>'

?>

I wonder what's the best method for writing javascript code into a PHP variable?

Some times it might be quite long javascript code... Is there a way without escaping all quotes?

<?php
echo '
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">

a_div.innerHTML = '<iframe style="width:100%;height:300px;" id="iframe_upload" src="index.php">';

</script>'

?>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

淡墨 2024-12-28 14:50:31

使用heredoc。例如:

$var = EOF<<<
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
a_div.innerHTML = '<iframe style="width:100%;height:300px;" id="iframe_upload" src="index.php">';
</script>
EOF;

EOF 可以是您想要的任意字符串,它只需直接位于 <<< 分隔符之后并匹配字符串两侧即可你想要创造。

Use heredoc. For example:

$var = EOF<<<
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
a_div.innerHTML = '<iframe style="width:100%;height:300px;" id="iframe_upload" src="index.php">';
</script>
EOF;

The EOF can be any arbitrary string you want, it just has to come directly after the <<< delimiter and match on both sides of the string you want to create.

自此以后,行同陌路 2024-12-28 14:50:31

答案很简单,不要混合 PHP 代码和 HTML/JavaScript,如果需要这样做,请使用 ?> 结束 PHP 块,然后使用 在 HTML/JS 块之后。

如果您需要在变量中使用它,您可以使用有点混乱的输出缓冲,或者使用 Heredoc/Nowdoc 字符串:

<?php
$foo = <<<FOOBAR
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
    a_div.innerHTML = '<iframe style="width:100%;height:300px;" id="iframe_upload" src="index.php">';
</script>

FOOBAR;
?>

The answer is simple don't mix PHP code and HTML/JavaScript and if you need to do so, end the PHP block with ?> and open it again with <?php after your HTML/JS block.

If you need it inside a variable, you could either use output buffering which is kind of messy though or use Heredoc/Nowdoc strings:

<?php
$foo = <<<FOOBAR
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
    a_div.innerHTML = '<iframe style="width:100%;height:300px;" id="iframe_upload" src="index.php">';
</script>

FOOBAR;
?>
非要怀念 2024-12-28 14:50:31

只要这样做:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">

a_div.innerHTML = '<iframe style="width:100%;height:300px;" id="iframe_upload" src="index.php">';

</script>

万一你需要 php 在那里某处:

a_div.innerHTML = '<iframe style="width:<?php echo $width; ?>;height:300px;" id="iframe_upload" src="index.php">';

Just do:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">

a_div.innerHTML = '<iframe style="width:100%;height:300px;" id="iframe_upload" src="index.php">';

</script>

And in case you need php in there somewhere:

a_div.innerHTML = '<iframe style="width:<?php echo $width; ?>;height:300px;" id="iframe_upload" src="index.php">';
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文