我正在尝试对单元格中的 HTML block 进行编码,以便 HTML 可以显示在用 <pre>
包裹的网页上标签。
所以
<div class="html">
<html>
<head>
<title>Title</title>
</head>
<body>
<p>Unrendred html</p> </body>
</html>
</div>
成为
<pre>
<div class="html">
<html>
<head><title>Title</title></head>
<body>
<p>Unrendred html</p>
</body>
</html>
</div>
</pre>
现在我认为我已经通过找到 =ENCODEURL
破解了公式,但输出略有不同。
%26lt%3Bdiv%20class%3D%26quot%3Bhtml%26quot%3B%26gt%3B%20%26lt%3Bhtml%26gt%3B%20%26lt%3Bhead%26gt%3B%20%26lt%3Btitle%26gt%3BTitle%26lt%3B%2Ftitle%26gt%3B%20%26lt%3B%2Fhead%26gt%3B%20%26lt%3Bbody%26gt%3B%20%26lt%3Bp%26gt%3BUnrendred%20html%26lt%3B%2Fp%26gt%3B%20%26lt%3B%2Fbody%26gt%3B%20%26lt%3B%2Fhtml%26gt%3B%20%26lt%3B%2Fdiv%26gt%3B
这CodePen显示了理想的输出以及如何在 HTML 中成功显示 HTML 代码。
我认为“编码”选项称为 HTML 特殊字符。我怎样才能在谷歌表格中得到这个?也许通过公式或正则表达式
最佳答案
我正在通过 JSON 访问我的 Google 电子表格单元格,并且我已经在其中添加了 HTML。
谷歌电子表格: https://docs.google.com/spreadsheets/d/17zfaoB56EfdSc9IzkJitSRi5wLGv-GJQwZaOPj5cZM0/edit#gid=0
Google 电子表格 JSON: https://spreadsheets.google.com/feeds/cells/17zfaoB56EfdSc9IzkJitSRi5wLGv-GJQwZaOPj5cZM0/1/public/full?alt=json
Codepen 演示:https://codepen.io/aystarz52/pen/ormamN?editors=1011
$(function(){
var sheetUrl = 'https://spreadsheets.google.com/feeds/cells/17zfaoB56EfdSc9IzkJitSRi5wLGv-GJQwZaOPj5cZM0/1/public/full?alt=json';
$.getJSON(sheetUrl, function(data){
var entry = data.feed.entry;
var htmlCode = []; // the leftmost column of the Google Sheets
for (var i = 0; i < entry.length; i += 1){
// entry[i].content.$t retrieves the content of each cell
htmlCode.push(entry[i].content.$t);
}
var uri= escape_html(htmlCode);
var res = escape(uri);
var appendContents = document.getElementById("demo").textContent = uri;
})
});
function escape_html(str) {
if ((str===null) || (str===''))
return false;
else
str = str.toString();
var map = {
'<': '<',
'>': '>',
'"': '"',
"'": ''',
";": ';'
};
return str.replace(/[<>"']/g, function(m) { return map[m]; });
}
关于javascript - 使用 Google Sheets 将 HTML 编码为 HTML 特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56970944/