返回javascript字符串的PHP函数


php function to echo javascript string

是一个正确的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>