繁体   English   中英

传递具有特殊字符的字符串

[英]Passing strings having special characters

我正在尝试传递带有空格和特殊字符的字符串,但是它出现错误并且没有任何作用。 例如

 <img onclick='addKeyword("celebritynews&gossip");' src="images/plus.png" >

但是字符串celebritynews&gossip中的'&'破坏了代码。

我发现问题出在addKeyword函数中,我使用以下代码定义了一个名为url的变量,

function addKeyword(categoryId){
var url = "addKeyword.php?uid=" + user_id + "&categoryId=" + categoryId + "&keyword=" + $("#keyword_" + categoryId).attr("value");
}

并且$(“#keyword_” + categoryId)引起了问题。 有什么办法解决吗?

假设您要在URL上传递字符串,则参数值需要进行URL编码。

...摘要编辑...

&被解释为HTML,并且必须经过HTML编码,尤其是&amp;

HTML

<img onclick='addKeyword("celebritynews&amp;gossip");' src="images/plus.png" />

JavaScript的

使用encodeURIComponent。

var url = "addKeyword.php?uid=" + encodeURIComponent(user_id) + "&categoryId=" + encodeURIComponent(categoryId) + "&keyword=" + encodeURIComponent($("#keyword_" + categoryId).attr("value")); 

尝试

<img onclick="addKeyword('<?php echo htmlspecialchars('celebritynews&gossip'); ?>')" src="images/plus.png" >

假设您正在将此文本写入页面,则可以使用htmlspecialchars确保在HTML中正确转义了该文本。

例如:

<?php echo htmlspecialchars("celebritynews&gossip"); ?>

有帮助吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM