把php嵌入script标签里面,如果有空行的话就会解析错误。有什么解决方案?
\n document.getElementById('content').innerHTML = marked("");
把php嵌入script标签里面,如果有空行的话就会解析错误。有什么解决方案?
\n document.getElementById('content').innerHTML = marked("");
好像楼上两位 @b9132 @kevins1022 没有理解楼主的问题所在.
楼主的问题是 $data
变量中有很多行, 即有换行符, 然后如果直接输出的话, 会在JS的代码块中出现换行,
然后会产生JS错误.
类似于这样:
<code><script type="text/javascript"> function marked(v){ return v; } document.getElementById('content').innerHTML = marked("hello world asldkfjalsdjkf"); </script></code>
所以比较简单的做法是, 把 \r
和 \n
手工进行转义.
完整测试代码:
<?php $data = "hello world asldkfjalsdjkf"; $data = str_replace(array("\r", "\n"), array("\\r", "\\n"), $data); ?><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Test</title> </head> <body> <pre id="content">