我有以下(部分)电子邮件:
u003cDIV\u003e\n \u003cP STYLE=\"text-align: LEFT;\"\u003e\n \u003cFONT STYLE=\"letter-spacing: 0pt;color:#0B333C;font-size: 10pt;font-family:宋体;\"/\u003e\n \u003c/P\u003e\n \u003cP STYLE=\"text-align: LEFT;\"\u003e\n \u003cFONT STYLE=\"letter-spacing: 0pt;color:#0B333C;font-size: 10pt;font-family:宋体;\"/\u003e\n \u003c/P\u003e\n \u003cP STYLE=\"text-align: LEFT;\"\u003e\n \u003cFONT STYLE=\“字母间距: 0pt;color:#0B333C;font-size: 10pt;font-family:宋体;\”\u003e color女士,
如何格式化这类文本,并将其显示为HTML格式的最终用户?
谢谢!
发布于 2017-03-04 05:02:03
首先,您缺少一个开头(可能在复制/粘贴中丢失)。但基本上,创建一个html元素来保存它:
<div id="message"></div>
然后将该字符串加载到javascript字符串中:
var str = '\u003cDIV\u003e\n \u003cP STYLE=\"text-align: LEFT; \"\u003e\n \u003cFONT STYLE=\"letter-spacing: 0pt; color: #0B333C; font-size: 10pt; font-family: verdana; \"/\u003e\n \u003c/P\u003e\n \u003cP STYLE=\"text-align: LEFT; \"\u003e\n \u003cFONT STYLE=\"letter-spacing: 0pt; color: #0B333C; font-size: 10pt; font-family: verdana; \"/\u003e\n \u003c/P\u003e\n \u003cP STYLE=\"text-align: LEFT; \"\u003e\n \u003cFONT STYLE=\"letter-spacing: 0pt; color: #0B333C; font-size: 10pt; font-family: verdana; \"\u003eHello Ms. Goodman,';
最后使用jQuery将其推送到容器中:
$('#message').html(str);
我不确定这是如何从服务器得到的,所以我不能建议你这一点,但这个基本的想法应该是可行的。
字符串的结果是
<div>
<p style="text-align: LEFT; ">
<font style="letter-spacing: 0pt; color: #0B333C; font-size: 10pt; font-family: verdana; "></font>
</p>
<p style="text-align: LEFT; ">
<font style="letter-spacing: 0pt; color: #0B333C; font-size: 10pt; font-family: verdana; "></font>
</p>
<p style="text-align: LEFT; ">
<font style="letter-spacing: 0pt; color: #0B333C; font-size: 10pt; font-family: verdana; ">Hello Ms. Goodman,</font>
</p>
</div>
发布于 2017-03-04 05:27:43
使用HttpUtility或WebUtility (取决于您是否希望依赖于System.Web)。
下面是一个单元测试(使用NUnit),展示了它是如何工作的:
using System.Net;
using NUnit.Framework;
[TestFixture]
public class UnitTest1
{
[Test]
public void TestMethod1()
{
string original = "\u003cDIV\u003e\n \u003cP STYLE=\"text-align: LEFT; \"\u003e\n \u003cFONT STYLE=\"letter-spacing: 0pt; color: #0B333C; font-size: 10pt; font-family: verdana; \"/\u003e\n \u003c/P\u003e\n \u003cP STYLE=\"text-align: LEFT; \"\u003e\n \u003cFONT STYLE=\"letter-spacing: 0pt; color: #0B333C; font-size: 10pt; font-family: verdana; \"/\u003e\n \u003c/P\u003e\n \u003cP STYLE=\"text-align: LEFT; \"\u003e\n \u003cFONT STYLE=\"letter-spacing: 0pt; color: #0B333C; font-size: 10pt; font-family: verdana; \"\u003eHello Ms. Goodman,";
string expected = "<DIV>\n <P STYLE=\"text-align: LEFT; \">\n <FONT STYLE=\"letter-spacing: 0pt; color: #0B333C; font-size: 10pt; font-family: verdana; \"/>\n </P>\n <P STYLE=\"text-align: LEFT; \">\n <FONT STYLE=\"letter-spacing: 0pt; color: #0B333C; font-size: 10pt; font-family: verdana; \"/>\n </P>\n <P STYLE=\"text-align: LEFT; \">\n <FONT STYLE=\"letter-spacing: 0pt; color: #0B333C; font-size: 10pt; font-family: verdana; \">Hello Ms. Goodman,";
string actual = null;
actual = WebUtility.HtmlDecode(original);
Assert.AreEqual(expected, actual);
}
}
https://stackoverflow.com/questions/42588052
复制相似问题