[英]Escape single quotes in title
我想在圖像標題中包含單引號的字符串。
myTitle = "abc '' def";
document.write("<img title='" + myTitle + "' src='http://www.example.com/image.png' />")
在這里,僅顯示子字符串abc
而不是abc '' def
。 因此,單引號后的所有內容都將被刪除。
由於標題實際上來自數據庫,所以我不能只做\\'
,所以我需要在這里轉義title='" + myTitle + "'
。
有功能嗎?
這是一個小提琴 。
您可以使用雙引號:
myTitle = "abc '' def";
document.write('<img title="' + myTitle + '" src="http://www.example.com/image.png" />');
或轉義報價:
myTitle = "abc '' def";
document.write("<img title='" + myTitle.replace(/'/g, ''') + "' src='http://www.example.com/image.png' />");
您可以嘗試對這個字符串進行html-entity-encoding,如以下答案所示: https : //stackoverflow.com/a/18750001/773259
這樣會將單引號替換為其unicode值'
。
一個簡單的替換:
myTitle = "abc '' def";
myTitle = myTitle.replace(/'/g, "\\'");
document.write("<img title='" + myTitle + "' src='http://www.example.com/image.png' />")
您只需要在html代碼的字符串表示形式中將雙引號與單引號交換,例如:
myTitle = "abc '' def";
document.write('<img title="' + myTitle + '" src="https://www.google.de/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" />')
這是一個JSFiddle
這是一個Diffchecker
您編寫它的方式使得代碼在標題字符串的第一個單引號處制動,因為它在另一個單引號之后。
您可以通過用其html實體替換所有單引號來解決您的問題。
myTitle = "abc '' def";
document.write("<img title='" + myTitle.replace(/'/g, "'") + "' src='http://www.example.com/image.png' />")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.