簡體   English   中英

標題中的單引號

[英]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, '&#39;') + "' src='http://www.example.com/image.png' />");

您可以嘗試對這個字符串進行html-entity-encoding,如以下答案所示: https : //stackoverflow.com/a/18750001/773259

這樣會將單引號替換為其unicode值&#39;

一個簡單的替換:

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, "&apos;") + "' src='http://www.example.com/image.png' />")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM