我需要使用javascript将纯文本转换为RTF(RichText格式)。
我正在为每次转换寻找一个函数,我不打算使用库。
从简单转换为RTF
格式化样式和颜色并不重要,重要的是我将纯文本转换为有效 RTF格式
从RTF转换为普通
同样,风格并不重要。它们可以完成删除。所需要的只是所有文本数据保留(不丢失输入的数据)
答案 0 :(得分:10)
我found a c# answer here这是一个很好的起点,但我需要一个Javascript解决方案。
无法保证这些是100%可靠的,但它们似乎与我测试过的数据配合得很好。
function convertToRtf(plain) {
plain = plain.replace(/\n/g, "\\par\n");
return "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang2057{\\fonttbl{\\f0\\fnil\\fcharset0 Microsoft Sans Serif;}}\n\\viewkind4\\uc1\\pard\\f0\\fs17 " + plain + "\\par\n}";
}
function convertToPlain(rtf) {
rtf = rtf.replace(/\\par[d]?/g, "");
return rtf.replace(/\{\*?\\[^{}]+}|[{}]|\\\n?[A-Za-z]+\n?(?:-?\d+)?[ ]?/g, "").trim();
}
答案 1 :(得分:0)
添加到Musefan的一些十六进制字符的答案
---
title: 'Awesome Example'
menu:
-
text: 'The best example'
link: 'http://example.com'
-
text: 'Wikipedia'
link: 'http://en.wikipedia.org'
---
<div>
<p>Lorem ipsum, etc.</p>
</div>