JQuery和PHP不打印&

时间:2014-10-26 12:14:07

标签: php jquery wordpress

有人可以告诉我如何处理这种情况吗?

我一起使用PHP和JQuery创建一个带参数的新url。但是,它没有在网址中加入&符号,而是#38;#38;"。然后,浏览器不会读取我的第二个参数。我也试过使用"& #38;" (打破显示在SO上),它在字面上创造了回声,简单"&"也导致了html代码," \ $" >十六进制,"&&" > htmlhtml ...

如何让脚本创建&?

我在文本模式下使用wordpress平台。

这是我使用"& naam"时得到的: HTML write

编码

echo "<script>  
            $(function() {
                $('.checked').click(function(e) {
                        e.preventDefault();
                        var dialog = $('<strong>Wat is jou RSVP keuse?</strong>').dialog({
                            buttons: {
                                \"Ja\": function() {
                                            window.location.href = \"http://hannelliemarcel.co.za/rsvp-ja?email=" . $Email . "&naam=" . $Naam . "\";
                                        },
                                \"Nee\":  function() {
                                            window.location.href = \"http://hannelliemarcel.co.za/rsvp-nee?email=" . $Email . "&naam=" . $Naam . "\";
                                        },
                                \"Kanselleer\":  function() {
                                    dialog.dialog('close');
                                }
                            }
                        });
                    });
                });
        </script>";

1 个答案:

答案 0 :(得分:0)

我能够通过使用encodeURI()来解决问题;在Javascript中使用参数化网址。

而不是使用&符号的HTML代码,这是&amp; #38;,我用的是&符号的UTF-8格式,它是\ u0026。这是一种更安全的角色编码方式。

这就是它的样子:

<script>
  function createAmp(){
    var symb = encodeURI('\u0026');
    document.getElementById('contentArea').innerHTML = "http://example.com/foo?id=123" + symb + "name=john";
  }
</script>

感谢评论中的每个人的建议,尤其是@milz。