📅  最后修改于: 2023-12-03 15:07:21.779000             🧑  作者: Mango
本程序是一个用于将印度尼西亚 WhatsApp 聊天记录的文本格式化为易读的 HTML 格式的 JavaScript 程序。用户可以将文本粘贴到输入框中,然后单击“格式化”按钮,即可在输出框中查看格式化后的结果。
本程序使用了 JavaScript 和 marked.js 库来格式化输出文本,并使用了 Bootstrap 框架来构建用户界面。
以下为核心 JavaScript 代码:
function format() {
const input = document.querySelector("#input").value; // 获取输入框中的文本
const lines = input.split("\n"); // 将文本按行分割
let output = "";
for (let i = 0; i < lines.length; i++) {
let line = lines[i];
// 将文本中的 URL 转换为链接
line = line.replace(/(http[s]?:\/\/[^\s]+)/g, '<a href="$1">$1</a>');
// 将文本中的日期转换为易读的格式
line = line.replace(/(\d\d)\/(\d\d)\/(\d{4}), (\d\d:\d\d)/g, '$2/$1/$3 $4');
// 将文本中的消息发送者和消息内容分离并分别添加样式
if (line.startsWith("[") && line.includes(":")) {
const senderEndIndex = line.indexOf(":");
const sender = line.slice(0, senderEndIndex + 1);
const message = line.slice(senderEndIndex + 1);
output += `<span class="sender">${sender}</span>`;
output += `<span class="message">${message}</span>`;
} else {
output += `<span class="message">${line}</span>`;
}
output += "<br>"; // 在输出文本后添加换行
}
document.querySelector("#output").innerHTML = marked(output); // 将格式化文本输出到 HTML
}
# 印度尼西亚 WhatsApp 格式化程序 (JavaScript)
本程序是一个用于将印度尼西亚 WhatsApp 聊天记录的文本格式化为易读的 HTML 格式的 JavaScript 程序。用户可以将文本粘贴到输入框中,然后单击“格式化”按钮,即可在输出框中查看格式化后的结果。
## 使用说明
1. 将您的印度尼西亚 WhatsApp 聊天记录复制到输入框中。
2. 单击“格式化”按钮查看格式化后的结果。
3. 可以将输出文本复制并保存到本地文件中。
## 代码实现
本程序使用了 JavaScript 和 [marked.js](https://marked.js.org/) 库来格式化输出文本,并使用了 [Bootstrap](https://getbootstrap.com/) 框架来构建用户界面。
以下为核心 JavaScript 代码:
\`\`\`javascript
function format() {
const input = document.querySelector("#input").value; // 获取输入框中的文本
const lines = input.split("\n"); // 将文本按行分割
let output = "";
for (let i = 0; i < lines.length; i++) {
let line = lines[i];
// 将文本中的 URL 转换为链接
line = line.replace(/(http[s]?:\/\/[^\s]+)/g, '<a href="$1">$1</a>');
// 将文本中的日期转换为易读的格式
line = line.replace(/(\d\d)\/(\d\d)\/(\d{4}), (\d\d:\d\d)/g, '$2/$1/$3 $4');
// 将文本中的消息发送者和消息内容分离并分别添加样式
if (line.startsWith("[") && line.includes(":")) {
const senderEndIndex = line.indexOf(":");
const sender = line.slice(0, senderEndIndex + 1);
const message = line.slice(senderEndIndex + 1);
output += \`<span class="sender">\${sender}</span>\`;
output += \`<span class="message">\${message}</span>\`;
} else {
output += \`<span class="message">\${line}</span>\`;
}
output += "<br>"; // 在输出文本后添加换行
}
document.querySelector("#output").innerHTML = marked(output); // 将格式化文本输出到 HTML
}
\`\`\`