Home > Backend Development > PHP Tutorial > javascript - php嵌入html script标签内的问题

javascript - php嵌入html script标签内的问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-06 20:25:56
Original
2527 people have browsed it

把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>
Copy after login

所以比较简单的做法是, 把 \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">
Copy after login

执行效果:

javascript - php嵌入html script标签内的问题

最终浏览器得到的HTML代码为:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Test</title>
</head>
<body>
<pre id="content">
Copy after login

没有开启php短标签的情况下

<code>echo "<script>document.getElementById('content').innerHTML = marked(".<?php echo $data ?>.")</script>";</code>
Copy after login

开启php短标签的情况

<code>echo "<script>document.getElementById('content').innerHTML = marked(".<? =$data ?>.")</script>";</code>
Copy after login

php短标签开启方法:
只需修改php的配置文件:php.ini ,将short_open_tag = off 改成 short_open_tag = on,然后保存,重启apache就可以了。

Related labels:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
php data acquisition?
From 1970-01-01 08:00:00
0
0
0
PHP extension intl
From 1970-01-01 08:00:00
0
0
0
How to learn php well
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template