Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在WP中使用PHP将javascript字符串插入HTML_Javascript_Php_Html_Wordpress - Fatal编程技术网

在WP中使用PHP将javascript字符串插入HTML

在WP中使用PHP将javascript字符串插入HTML,javascript,php,html,wordpress,Javascript,Php,Html,Wordpress,我需要为WP创建一些小部件,小部件中的设置将是textarea,用户可以在其中插入一些JS代码。然后我的小部件必须使用以下函数将此代码注入WP的footer.php: add_action( 'wp_footer', 'inject_js', 10 ); 在我的inject_js中,我有: function inject_js () { echo esc_attr( get_option('js_code') ); } 一切正常,代码插入HTML,但我面临一个问题。在我的HTM

我需要为WP创建一些小部件,小部件中的设置将是
textarea
,用户可以在其中插入一些JS代码。然后我的小部件必须使用以下函数将此代码注入WP的
footer.php

add_action( 'wp_footer', 'inject_js', 10 );
在我的
inject_js
中,我有:

function inject_js () { 

    echo esc_attr( get_option('js_code') );

}
一切正常,代码插入HTML,但我面临一个问题。在我的HTML中,我得到如下内容:

<!-- BEGIN JS widget -->
<script type="text/javascript">
    var __cp = {
        id: "J4FGckYPdasda21OaTnqo6s7kMgeGXdTBAb6SgXMD-A"
    };
 html_entity_decode(esc_attr( get_option('js_code')));
据我所知,我从用户的
textarea
中获得了
string
类型中的代码,我必须对引号和其他符号做一些处理,但我真的不知道如何解决这个问题,因为我对PHP是新手

我必须使用什么PHP函数,或者可以使用一些WP函数

我试过:

echo htmlspecialchars(esc_attr( get_option('js_code') ));


但是没有任何帮助。

将代码包装成这样:-像这样:

<!-- BEGIN JS widget -->
<script type="text/javascript">
    var __cp = {
        id: "J4FGckYPdasda21OaTnqo6s7kMgeGXdTBAb6SgXMD-A"
    };
 html_entity_decode(esc_attr( get_option('js_code')));

您将看到
esc\u attr
的效果-函数是对字符串进行html编码(除其他外)

它是为不受信任的用户输入而设计的。由于您的代码是专门为接受来自可信源(站点所有者)的javascript而设计的,所以不要使用它

echo get_option('js_code');

echo get_选项(“js_代码”)
..
esc\u attr
正在转义该值,很有趣,所以不要使用它!你试过使用html_解码吗?很好,我把它解码了。@Steve,非常感谢!这对我有用!也许您将此评论作为答案发布?@user1779617为什么对值进行编码(属于
esc_attr
)只是为了再次解码?简单地说,不要在第1行对它们进行编码place@TurakVladyslav当然,给我一点时间