Hướng dẫn convert text to html nodejs - chuyển văn bản sang html nodejs
Tôi đang sử dụng Nodemailer để gửi thư từ máy chủ nút. Tôi đang nhận được nội dung cho thư này từ MSSQL SQL Server được định dạng ở định dạng văn bản thuần túy, có nghĩa là có các ký tự dòng mới trong đó, tuy nhiên khi tôi gửi nó bằng Nodemailer, các ký tự mới bị thiếu và toàn bộ văn bản trông bị rối. Một cách khác là chèn các thẻ HTML để phá vỡ dòng trong văn bản thuần túy và gửi điều này hoạt động tốt. Nhưng có quá nhiều công việc có sẵn liên quan đến những gì tôi đang tìm kiếm là cho một thư viện hoặc tiện ích có thể chuyển đổi văn bản thuần túy thành HTML mà tôi có thể gửi bằng thư. Show
Có tự do nào cho yêu cầu này hoặc một cách để làm điều này tự động không? hỏi ngày 18 tháng 7 năm 2017 lúc 10:02Jul 18, 2017 at 10:02
Sau đây sẽ bao bọc tất cả các phần được phân tách bằng nhiều dòng mới trong các đoạn ( 3) và chèn ngắt ( 4) khi chỉ có một dòng mới. Một khối văn bản không có bất kỳ dòng mới nào sẽ được bọc trong một đoạn văn.
Vì vậy, ví dụ, nó sẽ lấy cái này:
Và chuyển đổi nó thành điều này:
Đã trả lời ngày 13 tháng 8 năm 2017 lúc 9:31Aug 13, 2017 at 9:31
Joxjoxjox 2.06821 huy hiệu bạc31 huy hiệu đồng21 silver badges31 bronze badges Giải pháp đơn giản nhất là bạn có thể thay thế các ký tự dòng mới bằng 4.Thử
Sau đó, bạn đã hoàn thành. Đã trả lời ngày 18 tháng 7 năm 2017 lúc 10:23Jul 18, 2017 at 10:23
ChazeonchazeonChazeon 5472 Huy hiệu bạc14 Huy hiệu Đồng2 silver badges14 bronze badges 1 Ok cuối cùng, đoạn mã này đã làm việc cho tôi -
Đây là rất nhiều hit và thử nghiệm nhưng cuối cùng nó đã hoạt động. Đã trả lời ngày 18 tháng 7 năm 2017 lúc 10:48Jul 18, 2017 at 10:48
JeetjeetJeet 5.3497 Huy hiệu vàng44 Huy hiệu bạc73 Huy hiệu đồng7 gold badges44 silver badges73 bronze badges 3 Giấy phépGiấy phép MIT Làm thế nào gửi dữ liệu từ nút JS đến HTML?/**// w w w. j a va 2s . co m * Converts plain text to HTML * @param text the plain text to convert * @returns the HTML version of the text */ function plain2html(text) { text = (text || ""); return text .replace(/&/g, "&") .replace(/"<") .replace(/>/g, ">") .replace(/\t/g, " ") .replace(/ /g, " ") .replace(/\r\n|\r|\n/g, " Tạo ứng dụng NodeJS và cài đặt mô -đun:.
Chuyển đổi nâng cao phân tích HTML và trả về văn bản đẹp. Đặc trưng
Thay đổiCó sẵn ở đây: changelog.md Phiên bản 6 chứa rất nhiều thay đổi, vì vậy nó đáng để xem xét. Phiên bản 7 chứa một thay đổi quan trọng cho các định dạng tùy chỉnh. Phiên bản 8 mang lại cho các bộ chọn hỗ trợ để tăng đáng kể tính linh hoạt nhưng điều đó cũng thay đổi một số điều được giới thiệu trong phiên bản 6. Lựa chọn phần tử cơ sở cũng có những thay đổi quan trọng. Cài đặt
Cách sử dụngChuyển đổi một tài liệu duy nhất: const { convert } = require('html-to-text'); // There is also an alias to `convert` called `htmlToText`. const html = ' Định cấu hình 6 Một lần để xử lý hàng loạt:const { compile } = require('html-to-text'); const convert = compile({ wordwrap: 130 }); const htmls = [ ' Tùy chọnTùy chọn chung
Phá vỡ các từ dài ở giới hạn độ dài dòng trong trường hợp không tìm thấy cơ hội bọc tốt hơn.
Những thứ khác không còn bị ảnh hưởng:
Người chọnMột số ví dụ: const { convert } = require('html-to-text'); const html = 'PageAction'; const text = convert(html, { selectors: [ { selector: 'a', options: { baseUrl: 'https://example.com' } }, { selector: 'a.button', format: 'skip' } ] }); console.log(text); // Page [https://example.com/page.html] Mảng chọn lọc là xấp xỉ lỏng lẻo của chúng tôi của một bảng kiểu.
Để đạt được hiệu suất tốt nhất khi kiểm tra từng phần tử DOM so với các bộ chọn được cung cấp, chúng được biên dịch thành cây quyết định. Nhưng nó cũng quan trọng như thế nào bạn chọn bộ chọn. Ví dụ: 01 tốt hơn nhiều so với 02 - cái trước sẽ chỉ kiểm tra các div cho ID trong khi cái sau phải kiểm tra mọi phần tử trong DOM.Bộ chọn được hỗ trợ 6 dựa vào các gói Parseley và Selderee cho hỗ trợ bộ chọn.Các bộ chọn sau có thể được sử dụng trong bất kỳ kết hợp nào:
Bạn có thể khớp 12 với 13 chẳng hạn.Định dạng được xác định trướcCác bộ chọn sau có một định dạng được chỉ định là một phần của cấu hình mặc định. Mọi thứ có thể bị ghi đè, nhưng bạn không phải lặp lại 3 hoặc các tùy chọn mà bạn không muốn ghi đè. (Nhưng hãy nhớ điều này chỉ đúng với cùng một bộ chọn. Không có kết nối giữa các bộ chọn khác nhau.)
39
Title
First line.
Second line.
Footer
|
48 | 49 | Applies to | 50 |
---|---|---|---|
51 | 53 | 55 | 56Note that N+1 line breaks are needed to make N empty lines. |
57 | 58 | 55 | 56Note that N+1 line breaks are needed to make N empty lines. |
57 | 58 | 59 | 61For example, with 85 and 86 the link in the text will be 87.Keep in mind that 78 should not end with a 84.
|
Tương đương với 20. Sử dụng 64 thay vào đó cho dữ liệu bảng. | 65 | 59 | 61Set to 8 or 95 to disable.
|
Tương đương với 20. Sử dụng 64 thay vào đó cho dữ liệu bảng. | 65 | 18 | 19 99 => becomes => 00.If this option is set to 6 and 02 and 03 are the same, 04 will be omitted and only 03 will be present.
|
7 | 8 | 18 | Bỏ qua tất cả các liên kết. Chỉ xử lý văn bản nội bộ của các thẻ neo. |
const { convert } = require('html-to-text'); // There is also an alias to `convert` called `htmlToText`. const html = '6 | 6 | 18 | Bỏ qua tất cả các liên kết. Chỉ xử lý văn bản nội bộ của các thẻ neo. |
const { convert } = require('html-to-text'); // There is also an alias to `convert` called `htmlToText`. const html = '6 | 6 | Bỏ qua các liên kết neo (trong đó 12). | 13 |
14 | 6 | Bỏ qua các liên kết neo (trong đó 12). | 13Set this to 8 to leave headings as they are.
|
14 | 66 | Tiền tố chuỗi cho mỗi mục danh sách. | 16 |
34 | 6 | Bỏ qua các liên kết neo (trong đó 12). | 13While empty lines should be preserved in HTML, space-saving behavior is chosen as default for convenience. |
14 | 6 | Bỏ qua các liên kết neo (trong đó 12). | 13Set this to 8 to leave heading cells as they are.
|
14 | 66 | Bỏ qua các liên kết neo (trong đó 12). | 13Set this to 6 in order to fall back to /**// w w w. j a va 2s . co m * Converts plain text to HTML * @param text the plain text to convert * @returns the HTML version of the text */ function plain2html(text) { text = (text || ""); return text .replace(/&/g, "&") .replace(/"<") .replace(/>/g, ">") .replace(/\t/g, " ") .replace(/ /g, " ") .replace(/\r\n|\r|\n/g, "7 limit. |
14 | 66 | Bỏ qua các liên kết neo (trong đó 12). | 13 |
14 | 66 | Bỏ qua các liên kết neo (trong đó 12). | 13 |
Title
First line.
Second line.
Footer
14
Title
First line.
Second line.
Footer
66 | Applies to | Depr. | Rem. | Tiền tố chuỗi cho mỗi mục danh sách. |
---|---|---|---|---|
16 | 18 | 8.1 | 34 |
Theo mặc định, các tiêu đề (
Title
First line.
Second line.
Footer
19,Title
First line.
Second line.
Footer
19, v.v.) được sử dụng. Điều này đến template = template.replace(/\n/gi, "") template = template.replace(/<\/p>/gi, "") 8 để để lại các tiêu đề như hiện tại.
Title
First line.
Second line.
Footer
22text.split('\n').join('\n
\n')
6Title
First line.
Second line.
Footer
48- Chiều dài của dòng. Nếu không xác định thì giá trị
/**// w w w. j a va 2s . co m * Converts plain text to HTML * @param text the plain text to convert * @returns the HTML version of the text */ function plain2html(text) { text = (text || ""); return text .replace(/&/g, "&") .replace(/"<") .replace(/>/g, ">") .replace(/\t/g, " ") .replace(/ /g, " ") .replace(/\r\n|\r|\n/g, "
7 được sử dụng. Rơi trở lại 40 nếu điều đó cũng bị vô hiệu hóa.
"); }
26Title
First line.
Second line.Footer
23Title First line. Second line. Footer
- Cắt các dòng trống từ blockquote. Trong khi các dòng trống nên được bảo tồn trong HTML, hành vi tiết kiệm không gian được chọn làm mặc định để thuận tiện.
Title
First line.
Second line.
Footer
29Title
First line.
Second line.
Footer
0Title
First line.
Second line.
Footer
64Theo mặc định, các ô tiêu đề (
Title
First line.
Second line.
Footer
32) được sử dụng trên đường. Điều này thành template = template.replace(/\n/gi, "")
template = template.replace(/<\/p>/gi, "")
8 để để lại các tế bào tiêu đề như chúng.Title
First line.
Second line.
Footer
34Title
First line.
Second line.
Footer
35Nội dung ô bảng dữ liệu sẽ được bọc để phù hợp với chiều rộng này thay vì giới hạn toàn cầu ____57. Điều này đến
text.split('\n').join('\n
\n')
6 để quay trở lại giới hạn /**// w w w. j a va 2s . co m * Converts plain text to HTML * @param text the plain text to convert * @returns the HTML version of the text */ function plain2html(text) { text = (text || ""); return text .replace(/&/g, "&") .replace(/"<") .replace(/>/g, ">") .replace(/\t/g, " ") .replace(/ /g, " ") .replace(/\r\n|\r|\n/g, "7.
"); }
Title
First line.
Second line.
Footer
40Title
First line.
Second line.
Footer
1Title
First line.
Second line.
Footer
74Title
First line.
Second line.
Footer
2Số lượng khoảng trống giữa các cột bảng dữ liệu.
Title
First line.
Second line.
Footer
43
44Title
First line.
Second line.Footer
- Số lượng dòng trống giữa các hàng bảng dữ liệu.
Tùy chọn định dạng không dùng nữa
- Tùy chọn cũ
- Thay vào đó sử dụng
const { convert } = require('html-to-text'); // There is also an alias to `convert` called `htmlToText`. const html = '
8Hello World
'; const text = convert(html, { wordwrap: 130 }); console.log(text); // Hello World
Title
First line.
Second line.
Footer
48Ghi đè định dạng