php字符串赋值到js的坑
很早以前的一个比较坑的问题,今天又遇到了,记录一下,免得以后再次入坑.
把php赋值到view层时,如果不是直接渲染到页面,而是赋值给变量.字符如果有回车或者换行就会出现问题.
示例:
<?php $a = 'sdfsdf
sadfasdf
asdfasdf'; $b = '<pre>asdfasdf
asdfasdf
asdfasdf</pre>'; ?> <body>
<div></div> <script>
var a = '<?php echo $a ?>';
var b = '<?php echo $b ?>'; document.getElementsByTagName('div')[0].innerHTML = a; </script>
</body>
这里的$a,$b是前端编辑器取到的值.
报错:Uncaught SyntaxError: Unexpected token ILLEGAL ,因为js在解析的时候,遇到换行就会出现问题.
//解决方案 替换\n 使用str_replace 或者preg_replace 都可以,推荐使用str_replace,利用正则效率要低点
$a = str_replace("\n",'<br>',$a);
$b = preg_replace('/\n/','<br>',$b);
php字符串赋值到js的坑的更多相关文章
- 从字符串拼接看JS优化原则
来自知乎的问题:JavaScript 怎样高效拼接字符串? 请把以下用于连接字符串的JavaScript代码修改为更高效的方式: var htmlString ='< div class=”co ...
- js避坑历险记
代码改变世界,世界改变码农,码农改变代码! 我就是我,我就是一个码农的武林. 前方JS巨坑出没,请注意集中力! 巨坑1:js精度问题 前段时间去一家物流公司面试,做了一个js题,印象尤为深刻: var ...
- js中json字符串转成js对象
json字符串转成js对象我所知的方法有2种: //json字符串转换成json对象 var str_json = "{name:'liuchuan'}"; //json字符串 / ...
- 字符串赋值给字符指针(char *a="hello")的正确理解方式
对于语句 char *a="hello"; 对于这个声明方式,会造成的误解是:声明了一个字符指针(它会指向一个位置),将“字符串”赋值给 指针表达式"*a"所 ...
- c语言蛋疼的字符串赋值
我觉得c语言比较蛋疼的一个地方就是给字符串赋值,不是初始化,是赋值. char string[20]={0}; 你不能通过 string="hello";这种方式赋值.但是在字符串 ...
- C语言中字符串赋值的几个理解
在C语言中,字符串的赋值主要有两种方法,第一种是通过指针的方式直接赋值,第二种是通过数组直接赋值. 一.首先,我们来看第一种赋值方法:指针式赋值 我们知道,上面的示例是显然可以正常执行的,也是很容易理 ...
- atitit.js的 字符串内容 转义 js处理html
atitit.js的 字符串内容 转义 js处理html 1. js处理html的问题 1 2. js的 字符串内容 转义 1 2.1. 处理流程 1 3. 下面的表格列出了其余的特殊字符,这些特殊 ...
- c语言字符串赋值
char *p="asdf";能运行 定义一个字符指针,并用它指向常量字符串"asdf"的首地址 char *p;p="asdf"; 能运行 ...
- react基础学习和react服务端渲染框架next.js踩坑
说明 React作为Facebook 内部开发 Instagram 的项目中,是一个用来构建用户界面的优秀 JS 库,于 2013 年 5 月开源.作为前端的三大框架之一,React的应用可以说是非常 ...
随机推荐
- python数据分析之pandas库的DataFrame应用二
本节介绍Series和DataFrame中的数据的基本手段 重新索引 pandas对象的一个重要方法就是reindex,作用是创建一个适应新索引的新对象 ''' Created on 2016-8-1 ...
- ocanvas 画板
使用ocanvas做了个简单的在线画板. ocanvas参考:http://ocanvas.org/ 效果如下: 主要代码如下: <!DOCTYPE html> <html> ...
- SSIS 目录
微软 BI 系列随笔 - SSIS 2012 基础 - SSIS 目录 上一篇讲解了使用SSIS参数与环境,由于涉及到了SSIS目录的相关知识和概念,本篇将对其进行讲解. 注:在之前的版本中,是使用整 ...
- knockout+bootstrap+MVC 登录页实现
一.环境概述 1.MVC4.0项目 2.bootstrap引入: 生产环境版本引入:在web\Content 文件夹中引入bootstrap-3.2.0-dist, 源码版本CSS引入:将bootst ...
- visual.studio.15.preview5 编译器
前段时间微软更新了新版开发工具visual studio 15 preview5,安装后连文件结构目录都变了,想提取编译器还找不到. 不是原来的VC\BIN目录,已迁移到IDE\MSVC\14.10. ...
- Yii里表单的操作方法(展示渲染待续......)
<?php$form=\yii\widgets\ActiveForm::begin(['action'=>\yii\helpers\Url::to('name/create')]);ech ...
- 保持const和non-const函数代码的一致
在用C++进行面向对象编程的时候,有时需要在一个类里包含两个代码相似的函数,而它们之间的唯一区别是,一个为const类型,一个是non-const类型. 此时如果将相同的代码写在两个函数中,则严重违反 ...
- 图像滤波:Gabor滤波
- Codeforces 721C [dp][拓扑排序]
/* 题意:给你一个有向无环图.给一个限定t. 问从1点到n点,在不超过t的情况下,最多可以拜访几个点. 保证至少有一条路时限不超过t. 思路: 1.由无后向性我们可以知道(取决于该图是一个DAG), ...
- [SharpZipLib 未能加载文件或程序集] 解决方法
未能加载文件或程序集"ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6a ...