📜  印度尼西亚whatsapp格式化程序javascript(1)

📅  最后修改于: 2023-12-03 15:07:21.779000             🧑  作者: Mango

印度尼西亚 WhatsApp 格式化程序 (JavaScript)

本程序是一个用于将印度尼西亚 WhatsApp 聊天记录的文本格式化为易读的 HTML 格式的 JavaScript 程序。用户可以将文本粘贴到输入框中,然后单击“格式化”按钮,即可在输出框中查看格式化后的结果。

使用说明
  1. 将您的印度尼西亚 WhatsApp 聊天记录复制到输入框中。
  2. 单击“格式化”按钮查看格式化后的结果。
  3. 可以将输出文本复制并保存到本地文件中。
代码实现

本程序使用了 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
}
Markdown 格式返回代码
# 印度尼西亚 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
}
\`\`\`