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

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

PHP中的多行字符串传递给JavaScript方法两则相关推荐

  1. php如何传递字符串,如何将PHP字符串传递给Javascript函数调用?

    本问题已经有最佳答案,请猛点这里访问. Possible Duplicate: Pass a PHP string to a Javascript variable (and escape newli ...

  2. 在JavaScript中创建多行字符串

    我在Ruby中有以下代码. 我想将此代码转换为JavaScript. JS中的等效代码是什么? text = <<"HERE" This Is A Multiline ...

  3. 如何将命令行参数传递给Node.js程序?

    我有一个用Node.js编写的Web服务器,我想使用一个特定的文件夹启动. 我不确定如何在JavaScript中访问参数. 我正在像这样运行节点: $ node server.js folder 这是 ...

  4. linux如何进入解释器路径,如何更改解释器路径并将命令行参数传递给Linux上的可执行共享库?...

    以下是"可执行"共享库的最小示例(假定文件名:)mini.c: // Interpreter path is different on some systems //+defini ...

  5. 如何在Go中编写多行字符串?

    本文翻译自:How do you write multiline strings in Go? Does Go have anything similar to Python's multiline ...

  6. JSON中的多行字符串

    我正在用JSON格式编写一些数据文件,并希望将一些非常长的字符串值分成多行. 使用python的JSON模块我得到了很多错误,无论我使用\\或\\n作为转义. 是否可以在JSON中使用多行字符串? 这 ...

  7. android 多行 输入框,EditTextView Android中的多行字符串(Multiline String in EditTextView Android)...

    EditTextView Android中的多行字符串(Multiline String in EditTextView Android) 我用这段代码创建了我的EditTextView: mEdit ...

  8. python中如何输入多行字符_在python中输入多行字符串有哪些方法

    在python中输入多行字符串有哪些方法 发布时间:2020-04-11 13:46:24 来源:亿速云 阅读:39 作者:小新 今天小编给大家分享的是在python中输入多行字符串有哪些方法,很多人 ...

  9. Thymeleaf传递给js方法值

    Thymeleaf传递给js方法值 Thymeleaf 身为SpringBoot的正宫; 推荐模板竟然不被广大开发者热衷. 这就导致了一些听从Spring建议的程序猿遇到Thymeleaf问题无处可问 ...

最新文章

  1. oracle查看存储过程最近编译,Oracle恢复被误编译覆盖的存储过程
  2. .Net开发人员应该下载的十种必备工具(二)
  3. QQ解除外链限制,支持直接跳转淘宝抖音
  4. Convert Sorted Array to Binary Search Tree With Minimal Height
  5. C++编程基础一 27-二维数组
  6. EF-CodeFirst-3搞事
  7. java 对文件名非法字符处理
  8. 高斯克吕格投影分带计算
  9. Linux查看vga分辨率,调整ubuntu启动界面vga分辨率的方法
  10. 切换计算机管理员身份,管理员身份运行,教您如何设置以管理员身份运行程序...
  11. Epicor 调拨方式平负数库存 直接生成DMT格式
  12. 拼多多店铺的先用后付|盛天海科技
  13. Apipost 上手指南
  14. 安卓查看内存读写测试软件_关于手机运行内存的四大误区,你信了几个?
  15. Linux下安装与配置aMule电驴
  16. 2017cad光标大小怎么调_cad十字光标怎么调大-调整cad十字光标大小的方法 - 河东软件园...
  17. mac运行.py提示缺少模块的解决方法
  18. 难复制薇娅李佳琦,如涵的网红牌何时能在资本市场出奇制胜?
  19. win10非分页缓冲池占用过大的解决方法
  20. 如何运营一个女性社区?

热门文章

  1. Java程序员从笨鸟到菜鸟之(八十一)细谈Spring(十)深入源码分析Spring之HibernateTemplate 和HibernateDaoSupport
  2. 《Effective STL》学习笔记(第三部分)
  3. Mahout分步式程序开发 聚类Kmeans
  4. 程序员面试题精选100题(16)-O(logn)求Fibonacci数列[算法]
  5. .NET 中 如果一个Task A正在await另一个Task B,那么Task A是什么状态
  6. JAVA设计模式之【建造者模式】
  7. C# Combobox联动
  8. Unity3d 下websocket的使用
  9. VelocityTracker简单介绍
  10. windows server2008R2故障转移群集