将 RTF 与纯文本相互转换
Convert RTF to and from plain text
我需要使用 javascript.
将纯文本与 RTF(富文本格式)相互转换
我正在为每次转换寻找一个函数,而不是使用库。
从纯文本到 RTF 的转换
格式样式和颜色并不重要,重要的是我将纯文本转换为有效 RTF格式
从 RTF 格式转换为普通格式
同样,风格并不重要。它们可以被完全移除。所需要的只是 所有 文本数据保留(输入数据不丢失)
我 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();
}
Here is a working example 他们都在行动
添加到 Musefan 的一些十六进制字符的答案中
function convertToPlain(rtf) {
rtf = rtf.replace(/\par[d]?/g, "");
rtf = rtf.replace(/\{\*?\[^{}]+}|[{}]|\\n?[A-Za-z]+\n?(?:-?\d+)?[ ]?/g, "")
return rtf.replace(/\'[0-9a-zA-Z]{2}/g, "").trim();
}
我需要使用 javascript.
将纯文本与 RTF(富文本格式)相互转换我正在为每次转换寻找一个函数,而不是使用库。
从纯文本到 RTF 的转换
格式样式和颜色并不重要,重要的是我将纯文本转换为有效 RTF格式
从 RTF 格式转换为普通格式
同样,风格并不重要。它们可以被完全移除。所需要的只是 所有 文本数据保留(输入数据不丢失)
我 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();
}
Here is a working example 他们都在行动
添加到 Musefan 的一些十六进制字符的答案中
function convertToPlain(rtf) {
rtf = rtf.replace(/\par[d]?/g, "");
rtf = rtf.replace(/\{\*?\[^{}]+}|[{}]|\\n?[A-Za-z]+\n?(?:-?\d+)?[ ]?/g, "")
return rtf.replace(/\'[0-9a-zA-Z]{2}/g, "").trim();
}