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的创建多行字符串的7种方法
JS里并没有标准的多行字符串的表示方法,但是在用模板的时候,为了保证模板的可阅读性,我们又不可避免的使用多行字符串,所以出现了各种搞法,这里以一段jade的模板作为示例,简单总结和对比一下. 一.字符串相加 这是最容易理解也很常用的一种形式,如下 复制代码 代码如下: var tmpl =''+ '!!! 5' + 'html' + ' include header' + ' body' + ' //if IE 6' + ' .aler
-
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
-
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循环添加到列表中: # 如果需要把多个字符串添加到列
随机推荐
- Go语言并发技术详解
- Window Media Player 播放器
- 常用证件号码的正则表达式大全(收集整理)
- php获取当前页面完整URL地址
- 探究数组排序提升Python程序的循环的运行效率的原因
- Firefox window.close()的使用注意事项
- MySQL性能优化之table_cache配置参数浅析
- 现代 javscript 编程 资料第1/6页
- JavaScript如何禁止Backspace键
- C#中DropDownList动态生成的方法
- 利用计划任务和VBS脚本实现自动WEB共享文件夹里的文件
- QRCode.js:基于JQuery的生成二维码JS库的使用
- java_object的简单使用详解
- php操作mongoDB实例分析
- 使用vue-cli+webpack搭建vue开发环境的方法
- 基于vue-cli配置lib-flexible + rem实现移动端自适应
- Angular2使用SVG自定义图表(条形图、折线图)组件示例
- 关于layui toolbar和template的结合使用方法
- React性能优化系列之减少props改变的实现方法
- 实例分析ORACLE数据库性能优化