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);
<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程序猿同学的讨论中逐步得出的。
var d=<?php echo '\''.str_replace("\r\n", "\\n\\\n", $a).'\''; ?
>;
alert(d==c);
愿与刚開始学习的人共勉。
PHP中的多行字符串传递给JavaScript方法两则的更多相关文章
- MaxPlus WStr Python 中的字符串传递给 MaxPlus
MaxPlus WStr Python 中的字符串传递给 MaxPlus 在 MaxPlus 中,很多方法的参数使用的字符串的类是 WStr,所以在 Python 中,我们传递字符串的时候,就要把 P ...
- linux grep find查找文件夹、代码中的某行/字符串
本文转载于:https://blog.csdn.net/Mr_Cat123/article/details/80541658 在Linux中,由于文件很多,代码很长,可能我们只知道其中的一两个字符串, ...
- SPSS提示“列表中不同意存在字符串变量”的解决方法
今天用SPSS对一些数据进行主成分分析,SPSS 19.0进行主成分分析的方法是:分析--降维--因子分析,可是当导入一些变量的时候.就会弹出窗体说"列表中不同意存在字符串变量", ...
- Android中通过WebView控件实现与JavaScript方法相互调用的地图应用
在Android中通过WebView控件,可以实现要加载的页面与Android方法相互调用,我们要实现WebView中的addJavascriptInterface方法,这样html才能调用andro ...
- java json字符串传递给 js 时 特殊字符转义错误 研究
一些换行 回车等符号需要转义 主要注意 单引号 与双引号. 一 如果js以 双引号接收字符串 则转单引号 " 至 \" 否则js报错 二 如果js以 单引号接收字符串 则转单引号 ...
- WPF 在画布中布局N行N列的实现方法
最近写一个WPF项目,中间有一个实现在画布中排列的问题(整齐摆列几行几列的算法).本人逻辑有点差啊,废了老大功夫才实现,也没啥就牛逼的,就是拿出来分享一下,给需要的同学节省点时间,如果有用的话别忘赞一 ...
- 【C#】判断字符串中是否包含指定字符串,contains与indexof方法效率问题
#方法一:使用string.Contains方法 string.Contains是大小写敏感的,如果要用该方法来判断一个string是否包含某个关键字keyword,需要把这个string和这个key ...
- C#中使用split分割字符串的几种方法小结
1.用字符串分隔: using System.Text.RegularExpressions;string str="aaajsbbbjsccc";string[] sArray= ...
- 如何将php数组或者对象传递给javascript
在网上搜了一些方法,最后自己采用的是通过json字串的方式. 假设有一个php 数组 $arr,代码如下: 代码如下: <script> // html5中默认的script是javasc ...
随机推荐
- vuex相关知识点
vuex简单理解转载博客 vuex从入门到入门------state:从 store 实例中读取状态最简单的方法就是在计算属性中返回某个状态------Getters:可以很容易地在任何组件中使用它- ...
- Html + Css 小知识点
选择器 根据选择器来对html内的内容做css修饰 样式: 找到一个元素{ 样式:值: } 找到一个元素:选择器 css都在style标签内部写 1.标签选择器: 根据标签名查找. 小丽: 2.id选 ...
- 【01】报错:webpack 不是内部或不可执行命令
[02] webpack 不是内部或不可执行命令 一般来安装完之后是可以直接执行的你可以执行 webpack -v 或者是 webpack --help 这样的就是正确的,我的问题的解决办法是 将 ...
- ci $this->load->database()
http://pengbotao.cn/codeigniter-database.html
- deine const 等关键字区别
define 属于预编译指令,在程序运行之前就已经编译好:额,定义变量,没有类型信息, const 修饰的变量是不可变的,只是给出了内存地址,且只在程序运行时初始化开辟一块内存空间 const 只修饰 ...
- (总结)CentOS Linux使用crontab运行定时任务详解
安装crontab:yum install crontabs 说明:/sbin/service crond start //启动服务/sbin/service crond stop //关闭服务/sb ...
- 【LeetCode】Broken Calculator(坏了的计算器)
这道题是LeetCode里的第991道题. 题目描述: 在显示着数字的坏计算器上,我们可以执行以下两种操作: 双倍(Double):将显示屏上的数字乘 2: 递减(Decrement):将显示屏上的数 ...
- CodeForces 321C Ciel the Commander
Ciel the Commander Time Limit: 1000ms Memory Limit: 262144KB This problem will be judged on CodeForc ...
- [android开发篇] api demo 官网学习网址
http://www.android-doc.com/resources/samples/wifidirectdemo/index.html
- acm之简单博弈 Nim Bash Wythoff
前些日子我打算开了博弈基础,事后想进行总结下 一句话就是分析必胜或必败,异或为0. 以下内容来自转载: Nim游戏的概述: 还记得这个游戏吗?给出n列珍珠,两人轮流取珍珠,每次在某一列中取至少1颗珍珠 ...