PHP/jQuery 未捕获的语法错误:意外的标记非法

发布于 2024-11-26 08:02:31 字数 1077 浏览 0 评论 0原文

我在 php 和 jQuery/Javascript 之间遇到问题...它不会显示或无法工作。

我的代码:

if($bottom_1_banner == "true"){
        //$data_AD .= '$(\'.ban_bottom\').html(\''.htmlentities($bottom_banner).'\').text();';
        $data_AD .= '$(\'.ban_bottom\').html("'.htmlspecialchars($bottom_banner).'").text();';
}

错误日志:(Chrome/Safari)

<script type="text/javascript">
    $(document).ready(function() {
        $('.ban_bottom').html("&lt;!-- xxxxxxx --&gt;
******index.php:11 Uncaught SyntaxError: Unexpected token ILLEGAL******
            &lt;script type=&quot;text/javascript&quot;&gt;
            xxxxxxx_bid = &quot;xxxxxxxxxxx&quot;;
            &lt;/script&gt;
            &lt;script type=&quot;text/javascript&quot; src=&quot;http://xxx.xxxxxx.com/k.js&quot;&gt;&lt;/script&gt;
            &lt;!-- xxxxxxxx --&gt;").text();    });
</script>

Error Log

编辑:将图像转换为文本。

i have problem with between php and jQuery/Javascript...It wont show up or can't work.

My Code:

if($bottom_1_banner == "true"){
        //$data_AD .= '$(\'.ban_bottom\').html(\''.htmlentities($bottom_banner).'\').text();';
        $data_AD .= '$(\'.ban_bottom\').html("'.htmlspecialchars($bottom_banner).'").text();';
}

Error Log: (Chrome/Safari)

<script type="text/javascript">
    $(document).ready(function() {
        $('.ban_bottom').html("<!-- xxxxxxx -->
******index.php:11 Uncaught SyntaxError: Unexpected token ILLEGAL******
            <script type="text/javascript">
            xxxxxxx_bid = "xxxxxxxxxxx";
            </script>
            <script type="text/javascript" src="http://xxx.xxxxxx.com/k.js"></script>
            <!-- xxxxxxxx -->").text();    });
</script>

OR

Error Log

Edited: Converted Image to Text.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

暮凉 2024-12-03 08:02:32

我在 JavaScript 中的新行上遇到了同样的问题。如果您从 MySql 获取值,您可以尝试以下操作:

$php_string = str_replace('<br />','<br />\\',nl2br($php_string));

首先用 html
标记替换换行符,然后在生成的
标签;因此 JS 行始终以 \ 结尾,这表示 JavaScript 代码中正确的新行。

I had the same problem with the new line in JavaScript. If you are getting the value from MySql you can try this:

$php_string = str_replace('<br />','<br />\\',nl2br($php_string));

First replace the line-break with an html <br/> tag and then add the \ after the generated <br/> tag; So the JS line always ends with a \, that indicates a correct new line in the JavaScript code.

为你鎻心 2024-12-03 08:02:32

根据上面的代码,可以肯定的一件事是,您需要在使用 .= 之前定义 $data_AD 变量,或者只使用 = 而不使用 .

Based by your code above, one thing for sure, you need to define $data_AD variable before using .= or just use = without .

心如狂蝶 2024-12-03 08:02:32

也许可以

$data_AD .= '$(\'.ban_bottom\').html("'.$bottom_banner.'").text();';

...

<?php echo str_replace('\n', '\\n', $data_AD); ?>

删除换行符?

Maybe do

$data_AD .= '$(\'.ban_bottom\').html("'.$bottom_banner.'").text();';

...

<?php echo str_replace('\n', '\\n', $data_AD); ?>

to remove the line breaks?

但可醉心 2024-12-03 08:02:32

删除 HTML 中的新行。 JavaScript 不理解多行字符串。您也可以将 \n 替换为 \ \n:

这不起作用:

var a = "This is a
string for me";

这有效

var a = "This is a \
string for me";

var a = "This is a string for me";

Get rid of the new lines in the HTML. Javascript doesn't understand strings on multiple lines. You can alternatively replace the \n with \ \n:

This does not work:

var a = "This is a
string for me";

This works

var a = "This is a \
string for me";

or

var a = "This is a string for me";
撑一把青伞 2024-12-03 08:02:32

这行代码在这里完美运行。
我猜想它是 .php 文件的文件编码问题。检查是否有坏字符。

This line of code works flawless here.
I'd guess its an file encoding issue with the .php-file. Check for bad characters.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文