Table of Contents
回复内容:
Home Backend Development PHP Tutorial javascript - php嵌入html script标签内的问题

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

Jun 06, 2016 pm 08:25 PM
javascript php

把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就可以了。

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

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

CakePHP Date and Time CakePHP Date and Time Sep 10, 2024 pm 05:27 PM

CakePHP Date and Time

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian

CakePHP File upload CakePHP File upload Sep 10, 2024 pm 05:27 PM

CakePHP File upload

CakePHP Routing CakePHP Routing Sep 10, 2024 pm 05:25 PM

CakePHP Routing

Discuss CakePHP Discuss CakePHP Sep 10, 2024 pm 05:28 PM

Discuss CakePHP

CakePHP Project Configuration CakePHP Project Configuration Sep 10, 2024 pm 05:25 PM

CakePHP Project Configuration

CakePHP Quick Guide CakePHP Quick Guide Sep 10, 2024 pm 05:27 PM

CakePHP Quick Guide

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

How To Set Up Visual Studio Code (VS Code) for PHP Development

See all articles