Markdown sang HTML API
Chuyển Markdown chuẩn GitHub sang HTML, hỗ trợ bảng và gạch ngang. Kết quả được lọc sẵn script và event handler để chống XSS.
Gửi Markdown qua trường markdown (JSON, form hoặc query string) hoặc dưới dạng body văn bản thô, API trả về HTML trong trường html. API dùng bộ parser marked với GitHub-flavored Markdown: hỗ trợ bảng, gạch ngang, tự nhận link và khối code fenced. Đặt breaks=true để mỗi lần xuống dòng thành thẻ <br>.
Vì Markdown có thể chứa HTML thô, kết quả mặc định được làm sạch: loại bỏ các thẻ script, style, iframe, object, embed, form..., các thuộc tính on*, style và URL dạng javascript: / vbscript: / data:text. Chỉ nên đặt sanitize=false khi nội dung Markdown đến từ nguồn tin cậy.
Body request tối đa 1 MB, trường markdown tối đa 2.000.000 ký tự.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
markdown | body|query | string | có | Nội dung Markdown (tối đa 2.000.000 ký tự). Có thể gửi dưới dạng body văn bản thô. | |
breaks | body|query | boolean | không | false | Chuyển mỗi lần xuống dòng thành <br>. |
sanitize | body|query | boolean | không | true | Loại bỏ script, event handler, thuộc tính style và URL nguy hiểm khỏi kết quả. |
Ví dụ
curl -X POST "https://apibox.io.vn/v1/markdown-to-html" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"markdown":"# Release notes\n\nVersion **2.0** adds [dark mode](https://example.com/dark).\n\n- Faster builds\n- ~~Old API~~ removed\n\n| Plan | Price |\n| --- | --- |\n| Free | $0 |"}'const res = await fetch('https://apibox.io.vn/v1/markdown-to-html', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"markdown": "# Release notes\n\nVersion **2.0** adds [dark mode](https://example.com/dark).\n\n- Faster builds\n- ~~Old API~~ removed\n\n| Plan | Price |\n| --- | --- |\n| Free | $0 |"
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/markdown-to-html",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"markdown": "# Release notes\n\nVersion **2.0** adds [dark mode](https://example.com/dark).\n\n- Faster builds\n- ~~Old API~~ removed\n\n| Plan | Price |\n| --- | --- |\n| Free | $0 |"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/markdown-to-html');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"markdown":"# Release notes\\n\\nVersion **2.0** adds [dark mode](https://example.com/dark).\\n\\n- Faster builds\\n- ~~Old API~~ removed\\n\\n| Plan | Price |\\n| --- | --- |\\n| Free | $0 |"}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"html": "<h1>Release notes</h1>\n<p>Version <strong>2.0</strong> adds <a href=\"https://example.com/dark\">dark mode</a>.</p>\n<ul>\n<li>Faster builds</li>\n<li><del>Old API</del> removed</li>\n</ul>\n<table>\n<thead>\n<tr>\n<th>Plan</th>\n<th>Price</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>Free</td>\n<td>$0</td>\n</tr>\n</tbody></table>\n"
}
Ứng dụng
- Hiển thị file README hoặc tài liệu Markdown trên website
- Hiển thị bình luận người dùng viết bằng Markdown mà không lo XSS
- Tạo nội dung email HTML, newsletter từ bản nháp Markdown
- Xem trước Markdown trong CMS hoặc quy trình build static site
Hỏi đáp
HTML trả về có an toàn để chèn vào trang không?
Mặc định là có với các kiểu tấn công phổ biến: script, iframe, form, event handler, thuộc tính style và link javascript: đều bị loại bỏ. Chỉ tắt bằng sanitize=false với dữ liệu tin cậy.
Có hỗ trợ bảng Markdown kiểu GitHub không?
Có. GFM được bật sẵn nên bảng dạng |, ~~gạch ngang~~ và link tự động đều được render.
Làm sao giữ nguyên các lần xuống dòng đơn?
Đặt breaks=true. Mỗi lần xuống dòng trong đoạn văn sẽ thành thẻ <br>, giống bình luận trên GitHub.
API liên quan
HTML sang Markdown
Chuyển HTML hoặc URL trang web bất kỳ thành Markdown gọn gàng chuẩn GitHub, hỗ trợ bảng, trích xuất bài viết chính và link tuyệt đối.
<✓>Lọc HTML an toàn
Loại bỏ script, iframe, form, event handler, style inline và link javascript: khỏi HTML không tin cậy trước khi hiển thị.
TtHTML sang văn bản
Bỏ thẻ HTML hoặc lấy nội dung từ URL trang web thành văn bản thuần dễ đọc, giữ xuống dòng, kèm số từ và số ký tự.