是一个正确的php函数来回声javascript字符串?
我想让php函数像这样回显:
<!--/* OpenX Interstitial or Floating DHTML Tag v2.8.7 */-->
<script type="text/javascript">// <![CDATA[
//<![CDATA[
var ox_u = 'extremely_long_url_string';
if (document.context) ox_u += '&context=' + escape(document.context);
document.write("<scr"+"ipt type='text/javascript' src='" + ox_u + "'></scr"+"ipt>");
//
// ]]></script>
我知道我可以把它们都放在一行,然后用'来转义所有的引号,但是我想要一个更优雅的&有效的解决方案。
使用heredoc-syntax
Heredoc文本的行为就像没有双引号的双引号字符串。这意味着heredoc中的引号不需要转义[…]。
使用herdoc:
$a=<<<BLA
<!--/* OpenX Interstitial or Floating DHTML Tag v2.8.7 */-->
<script type="text/javascript">// <![CDATA[
//<![CDATA[
var ox_u = 'extremely_long_url_string';
if (document.context) ox_u += '&context=' + escape(document.context);
document.write("<scr"+"ipt type='text/javascript' src='" + ox_u + "'></scr"+"ipt>");
//
// ]]></script>
BLA;
然后你可以直接
echo $a;
没有特定的或仅针对JavaScript的,但每个输出特性都适用于JavaScript。你可以直接打印出<?php ?>
标签,比如
<?php
session_start(); //just an example PHP code
?>
<!--/* OpenX Interstitial or Floating DHTML Tag v2.8.7 */-->
<script type="text/javascript">// <![CDATA[
//<![CDATA[
var ox_u = 'extremely_long_url_string';
if (document.context) ox_u += '&context=' + escape(document.context);
document.write("<scr"+"ipt type='text/javascript' src='" + ox_u + "'></scr"+"ipt>");
//
// ]]></script>