簡體   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