<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="PHP中两种方法将多行字符串传递给JavaScript" id="card1">
<p> 游客</p><p>
标题:PHP中两种方法将多行字符串传递给JavaScript<br/>
正文:<br/>
PHP和JavaScript都是初学。最近有这么个需求：比方说有一个PHP的多行字符串：$a = &amp;lt;&amp;lt;&amp;lt;EOF <br/>thy38 <br/>csdn <br/>blog <br/>EOF;传递给JavaScript后要等价于：var c='thy38\n\ <br/>csdn\n\ <br/>blog';因为对这两门语言的理解低到不知如何Google，只好自己摸索出方法两则：1. 将PHP先转义，然后分割，然后转JSON，然后JavaScript parse，最后用\n拼接。var b=JSON.parse(&amp;lt;?php echo '\''.json_encode(explode(&quot;\r\n&quot;, $a)).'\''; ?&amp;gt;).join('\n'); alert(b==c); 2. 在页面上安排一个隐藏的input，然后先由php把值给它，然后JavaScript从它里面读，就实现了多行值的传递&amp;lt;input type=&quot;hidden&quot; id='testphp' value=&quot;&amp;lt;?php echo $a?&amp;gt;&quot; /&amp;gt; <br/>var a=document.getElementById(&quot;testphp&quot;).value; <br/>var b=JSON.parse(&amp;lt;?php echo '\''.json_encode(explode(&quot;\r\n&quot;, $a)).'\''; ?&amp;gt;).join('\n'); <br/>alert(a==b); <br/>alert(b==c); PS: 以上方法是在跟一个PHP加JavaScript程序员同学的讨论中逐步得出的。<br/> 写完了文章回头再想想，其实这两个很绕的方法还是源于对PHP和JavaScript的多行字符串理解不透。<br/> 理解透了也就简单了，远不用这么复杂，直接字符串替换就行：var d=&amp;lt;?php echo '\''.str_replace(&quot;\r\n&quot;, &quot;\\n\\\n&quot;, $a).'\''; ?&amp;gt;; alert(d==c);<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1473&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1473&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1473&amp;Page=1">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1473">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1473">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>