PHP中的多行字符串传递给JavaScript的两种方法
2015-01-24信息快讯网
这篇文章主要介绍了PHP中的多行字符串传递给JavaScript的两种方法,需要的朋友可以参考下
PHP和JavaScript都是初学。最近有这么个需求:
比方说有一个PHP的多行字符串:
$a = <<<EOF thy38 csdn blog EOF;
传递给JavaScript后要等价于:
var c='thy38\n\ csdn\n\ blog';
因为对这两门语言的理解低到不知如何Google,只好自己摸索出方法两则:
1. 将PHP先转义,然后分割,然后转JSON,然后JavaScript parse,最后用\n拼接。
var b=JSON.parse(<?php echo '\''.json_encode(explode("\r\n", $a)).'\''; ?>).join('\n');
alert(b==c); 2. 在页面上安排一个隐藏的input,然后先由php把值给它,然后JavaScript从它里面读,就实现了多行值的传递
<input type="hidden" id='testphp' value="<?php echo $a?>" />
var a=document.getElementById("testphp").value;
var b=JSON.parse(<?php echo '\''.json_encode(explode("\r\n", $a)).'\''; ?>).join('\n');
alert(a==b);
alert(b==c); PS: 以上方法是在跟一个PHP加JavaScript程序员同学的讨论中逐步得出的。
写完了文章回头再想想,其实这两个很绕的方法还是源于对PHP和JavaScript的多行字符串理解不透。
理解透了也就简单了,远不用这么复杂,直接字符串替换就行:
var d=<?php echo '\''.str_replace("\r\n", "\\n\\\n", $a).'\''; ?>;
alert(d==c);dedecms中使用php语句指南
php 使用file_get_contents读取大文件的方法
php合并数组中相同元素的方法
php魔术变量用法实例详解
html静态页面调用php文件的方法
PHP动态页生成静态页的3种常用方法
PHP使用json_encode函数时不转义中文的解决方法
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
PHP中使用Session配合Javascript实现文件上传进度条功能
Javascript与PHP验证用户输入URL地址是否正确
PHP中echo,print_r与var_dump区别分析
PHP-Java-Bridge使用笔记
PHP和javascript常用正则表达式及用法实例
JavaScript创建命名空间的5种写法
PHP安全的URL字符串base64编码和解码
ThinkPHP模板引擎之导入资源文件方法详解
ThinkPHP CURD方法之field方法详解
ThinkPHP CURD方法之data方法详解
ThinkPHP CURD方法之order方法详解
ThinkPHP CURD方法之table方法详解
PHP+javascript制作带提示的验证码源码分享
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
PHP动态生成javascript文件的2个例子
php警告Creating default object from empty value 问题的解决方法
PHP调用JAVA的WebService简单实例
利用浏览器的Javascript控制台调试PHP程序