8

当我尝试粘贴 HTML 文本文件时,我不断被踢出外壳。如何才能做到这一点?我首先需要使用一些javascript对其进行编码吗?

例子:

db.test.insert({x:"<div id='product-description'><p>Who hasn’t wished for a mini-Roomba to    handle the arduous task of cleaning their iPhone screen? Now your dreams have come true!</p>  <p>See the Takara web page for a <a href='http://www.takaratomy.co.jp/products/automee/'  title='automee s' target='_blank'>demo video.</a></p>
<p><strong>Colors: </strong> White, Red, Orange and Blue<br>
Runs on a single AA battery.</p>
<p>1,575 yen</p><!-- end #product-description --></div>"})

编辑

我在我的 html 中只放了单引号,并将整个内容用双引号括起来,但还是不行。外壳错误:

> j = ({z:"<div id='product-description'><p>Who hasn
---
Unicode text could not be correctly displayed.
Please change your console font to a Unicode font (e.g. Lucida Console).
---

’
bye
4

4 回答 4

8

您需要删除或编码字符串中的控制字符。

例如,将您的文本粘贴到此处,并编码为 UTF-8 ECMAScript(这意味着 javascript 字符串)。

ps:这里有一篇关于javascript中字符串的文章。告诉你什么需要转义。http://docstore.mik.ua/orelly/webprog/jscript/ch03_02.htm

于 2013-03-08T08:45:29.933 回答
2

rompetroll提供了一些很好的入门参考。我也在网上找到了一个很好的解决方案:

关联

但我认为关于“将 html 从 db 显示回浏览器”仍然存在一些混淆。因此,以下是消除这种混淆的步骤:

第1步:将html存储在mongodb中

Mongo 以对象的形式存储所有内容。基本上将您的 html 转换为 utf-8 或 ASCII 编译字符串,然后将其存储到 mongo。

<div>hi!</div> [from]

&lt;div&gt;hi!&lt;/div&gt; [to UTF-8]

第 2 步:向浏览器显示 html

这是使某些人感到困惑的步骤。人们经常忘记在将字符串显示到浏览器之前将其转换回 html。您必须使用与编码相同的方法来解码您的 html

&lt;div&gt;hi!&lt;/div&gt; [output from mongo (decode it to html)]

<div>hi!</div> [browser output of above string]

(浏览器会将其读取为字符串并按原样显示,而不是 html(嗨!),因此需要解码)

我提供的链接对这两个步骤都有参考。

希望这会有所帮助

干杯:)

于 2018-04-16T11:47:17.770 回答
0

使用compass,你不需要编码。Studio3T编辑器也可以使用,但您需要许可证。

于 2020-04-20T20:14:45.153 回答
0

要通过 MongoDB 控制台添加 html,您需要对字符串进行转义。使用这个:https ://www.freeformatter.com/json-escape.html#ad-output

脚步

  • 复制 HTML
  • 转到上面的链接,粘贴 HTML 点击“Escape”
  • 复制转义的 HTML
  • 插入 HTML(例如db.Emails.updateMany({name: 'email/seller'}, {$set: {template: "<!DOCTYPE html\">\r\n<html lang=\"en\"> ..."}}:)
于 2020-12-18T16:22:00.740 回答