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);
相关推荐
-
javascript多行字符串的简单实现方式
平时一般使用 字符串+,或者[].join('')的方式 同事推荐了这样的形式 ExceptionDivHtml="<div class='gameItems'>\ <div class='kreds_top_L'>\ <span style='padding:0 10px;'><b>Current Balance:</b><font> </font> Credits</span>\ </div
-
javascript的创建多行字符串的7种方法
JS里并没有标准的多行字符串的表示方法,但是在用模板的时候,为了保证模板的可阅读性,我们又不可避免的使用多行字符串,所以出现了各种搞法,这里以一段jade的模板作为示例,简单总结和对比一下. 一.字符串相加 这是最容易理解也很常用的一种形式,如下 复制代码 代码如下: var tmpl =''+ '!!! 5' + 'html' + ' include header' + ' body' + ' //if IE 6' + ' .aler
-
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 e
-
vue中实现点击空白区域关闭弹窗的两种方法
1. 第一种做法 首页在外层容器里面取一个名字为main,即ref="main",当bankSwitch为true的时候,弹窗出现 <div class="selectedBorder" ref="main"> <div class="bankItem" v-if="bankSwitch == true"> 你好我是弹窗里面的内容部分 </div> </div>
-
在HTML中使用JavaScript的两种方法
在HTML中使用HTML需要借助<scirpt>标签,使用<script>标签的方式有两种:一种是直接在<script>标签中嵌入JavaScript代码,另一种是用<script>的src属性引入外部JavaScript文件. 直接在页面嵌入JavaScript代码 在使用<script>标签嵌入JavaScript代码时,只需为<script>指定type属性.然后,像下面这样把JavaScript代码直接放在标签内部即可: &l
-
PHP正则验证字符串是否为数字的两种方法并附常用正则
php 正则验证字符串是否为数字 方法一: php中利用正则表达式验证字符串是否为数字一件非常容易的事情,最主要的是如何写好正则表达式以及掌握正则表达式的写法,在此利用正则表达式的方式来列举一下判断数字的方法. <? if($str) { if(eregi("^[0-9]+$",$str)) { $str=(int)$str; } else { echo "获取到的数据不是有效的数字类型,操作将停止!"; exit(); } } else { echo &qu
-
asp.net中TextBox只能输入数字的最简洁的两种方法
如下TextBox 复制代码 代码如下: <asp:textboxonkeypress="isnum()"id="TextBox1"runat="server"></asp:textbox> 1. 在页面中添加一段脚本: 复制代码 代码如下: <scriptlanguage="javascript">functionisnum(){if(event.keyCode<45||event.
-
Android中再按一次退出提醒实现的两种方法
很多应用中都有一个在用户后退的时候显示"再按一次退出"的提醒,这个怎么实现呢?有两种方式 第一种方式(最常用) long waitTime = 2000; long touchTime = 0; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(event.getAction() == KeyEvent.ACTION_DOWN && KeyEvent.KEYCODE_BACK ==
-
js中json对象和字符串的理解及相互转化操作实现方法
本文实例讲述了js中json对象和字符串的理解及相互转化操作实现方法.分享给大家供大家参考,具体如下: <script> var str="{'strv':["+ "{'a':'a11'},"+ " {'a':'b222'}"+ " ]}"; //如果放在一行更清楚:var str="{'strv':[{'a':'a11'}, {'a':'b222'} ]}"; var str2=eval('(
-
JavaScript访问字符串中单个字符的两种方法
概述 JavaScript是一门很灵活的语言,也提供了很多原生的函数供我们编程使用.这篇文章主要对javascript中如何访问字符串中的单个字符做一下介绍. javascript中一切皆为对象,要访问字符串中的单个字符主要有两种方法:数组索引和charAt()函数. 索引和charAt() 索引方式访问单个字符串 在javascript中,字符串可以被当做数组来处理,所以我们可以用数组下标的方式来访问单个字符.代码如下: 复制代码 代码如下: <script type="text/jav
-
Java 输入多行字符串或者多个int数值的方法
控制台输入 以下输入方法用于在控制台中进行输入,当输入当个换行符时,结束输入.但不适合在做算法题目是使用,可能是因为算法题目中用的是流的方式进行输入,最后不会输入多一个换行符,因而无法正确的结束输入而导致答案错误. import java.util.Scanner; public class Main { public static void main(String[] args) { inputStr(); inputInteger(); inputIntInLine(); } //每行输入一
-
python中for循环把字符串或者字典添加到列表的方法
python中如何for循环把字符串添加到列表? 实例: 1.单个字符串用for循环添加到列表中: # 把L1中的字符串添加到列表alist里面 L1 = 'MJlifeBlog' alist = [] # 可以用forin来迭代L1并保存值到x变量里头即可. # 接着在for循环里边用append方法即可把解析到的单个字符添加到列表了. for x in L1: alist.append(x) print(alist) 2.多个字符串用for循环添加到列表中: # 如果需要把多个字符串添加到列
随机推荐
- java使用xpath解析xml示例分享
- Golang中的参数传递示例详解
- JavaScript中的this,call,apply使用及区别详解
- ubbcode简单实用
- 5种Java经典创建型模式详解
- XHTML-Strict 内允许出现的标签
- javascript 兼容FF的onmouseenter和onmouseleave的代码
- Javascript中的apply()方法浅析
- php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
- PHP使用glob函数遍历目录或文件夹的方法
- div li的多行多列 无刷新分页示例代码
- window.open()实现post传递参数
- JavaScript动态加载样式表的方法
- php 常用字符串函数总结
- 蓝色空间 天气小偷
- C++中sprintf()函数的使用详解
- 解决java编译错误( 程序包javax.servlet不存在javax.servlet.*)
- Jquery根据浏览器窗口改变调整大小的方法
- 修改file按钮的默认样式实现代码
- php实现判断访问来路是否为搜索引擎机器人的方法