javascript - 使用 Google 表格将 HTML 编码为 HTML 特殊字符
问题描述
我正在尝试在单元格中对 HTML 块进行编码,以便 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 特殊字符。如何在 Google 表格中获取此信息?也许通过公式或正则表达式
解决方案
我正在通过 JSON 访问我的 Google 电子表格单元格,并在那里添加了 HTML。
谷歌电子表格: https ://docs.google.com/spreadsheets/d/17zfaoB56EfdSc9IzkJitSRi5wLGv-GJQwZaOPj5cZM0/edit#gid=0
谷歌电子表格 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]; });
}
推荐阅读
- android - 如何在 Android NDK 中打开 Uri
- python - 集合(数组中的单个对象)返回集合(字符串)
- python-3.x - 使用 Python3 在文件中查找表达式
- android-jetpack-compose - 在 LazyColumn jetpack 组合中,有类似 swiperefreshlayout 的东西可以拉动以刷新
- ssl - wolfSSL vs. MBEDTLS vs. OpenSSL - 有什么区别?
- docker - Docker 容器中托管的 .NET Core 3.1 应用程序中的 Playwright-sharp
- typescript - 单元测试 newRelic.increment 指标
- api - konghq api是什么以及如何用它来保护我的asp dot net core api?
- android - 在视图上设置 y 值时,ScrollView 不滚动
- python - Pygame:每 2 秒移动一段距离