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);

愿与刚開始学习的人共勉。

最新文章

  1. 关于laravel 5.3 使用redis缓存出现 找不到Class &#39;Predis\Client&#39; not found的问题
  2. LDA-math-LDA 文本建模
  3. codeforces 192b
  4. 后缀为inc的是什么文件?C#中如何包含inc文件?
  5. HTML、JS、CSS之特殊字符
  6. semget() semop()
  7. openlayers wfs获取要素
  8. Android Training精要(一)ActionBar上级菜单导航图标
  9. html5 之本地数据存储
  10. Python3基础 list(enumerate()) 将一个列表的每一个元素转换成 带索引值的元组
  11. socket对象放在一个datagridview的row的tag里面在拿出来 为什么是已释放
  12. 打造MacOS版“XShell”
  13. springcloud 学习
  14. 【LeetCode每天一题】Trapping Rain Water(获得雨水的容量)
  15. easyui combobox 动态加载数据C#
  16. 给sublime设置格式化代码的快捷键
  17. URI -URL-URN区别
  18. Jmeter参数化与检查点
  19. Ext.core.DomQuery Dom选择器
  20. Android 计算器

热门文章

  1. ORACLE 检索某列包含特定字符串的数据表工具存储过程
  2. centos 安装 yum apt
  3. Eclipse如何创建模拟器
  4. Scrapy应用之抓取《宦海沉浮》小说
  5. 【LeetCode】Maximum Depth of Binary Tree(二叉树的最大深度)
  6. NYOJ 722 数独
  7. TOJ 2703: Cow Digit Game
  8. hdu6069[素数筛法] 2017多校4
  9. 【bzoj4197】[Noi2015]寿司晚宴 分解质因数+状态压缩dp
  10. [luoguP2805] [NOI2009]植物大战僵尸(网络流)