首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SyntaxError: PHP变量中的未终止字符串文本

SyntaxError: PHP变量中的未终止字符串文本
EN

Stack Overflow用户
提问于 2017-05-12 08:32:20
回答 1查看 2.1K关注 0票数 1

我搜索了已经问到的关于“未终止的字符串文字”语法错误的许多问题,但是没有发现任何帮助我.

所以,我有一个Javascript函数:

代码语言:javascript
运行
复制
function parametresModal($parametres) {
        document.getElementById('remodalTest').innerHTML = $parametres;
};

然后在页面中的链接上调用此函数:

代码语言:javascript
运行
复制
<a href="#" onClick='parametresModal("<?php the_field('description-defi'); ?>");'>TEST</a>

这里编写的参数是简化的;实际上,我想添加Wordpress ACF的函数和HTML标记,但是我发现这个特定字段出现了问题(见下文)。

这个"parametresModal“函数应该用它的参数填充以下div:

代码语言:javascript
运行
复制
<div id="remodalTest">MyDiv</div>

问题是控制台输出

"SyntaxError:未终止字符串文字“

Wordpress ACF的字段"description-defi“包含了几行带有一些简单引号的文本。c'est,l'éviter,.)所以我试着用几种方法来规避引号:

代码语言:javascript
运行
复制
$myField = the_field('description-defi');
$myEscape = json_encode($myField);

代码语言:javascript
运行
复制
$myField = the_field('description-defi');
$myEscape = addshlashes($myField);

代码语言:javascript
运行
复制
$myField = the_field('description-defi');
$myEscape = htmlspecialchars($myField);

总是导致同样的错误。

你知道我的代码或者我的思维方式可能会错在哪里吗?

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-12 08:36:58

the_field()将输出所选字段的内容。如果您想使用某个字段,则应该使用get_field()

请参阅:field/

另外,换行符不会被任何PHP的转义函数转义,如果您的字符串包含换行符,您需要使用以下内容手动转义它们:$myField = str_replace(array("\r\n", "\n"), "<br>", $myField);

如果您知道您的数据库将始终使用相同的换行符序列,则可以用该换行符替换array("\r\n", "\n")

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43933011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档