Văn bản

Slugify

Chuyển văn bản thành "slug" an toàn cho URL: chuyển tự chữ Kirin (Ukraina/Nga) theo tiêu chuẩn chính thức, loại bỏ dấu phụ và ký tự thừa, chữ thường.

A slug is a URL-safe version of a title or name: lowercase Latin letters, digits, and hyphens instead of spaces. This tool transliterates Cyrillic text using the official standard and strips diacritics and characters that aren't valid in a URL.

How to use it

Common uses

Things to keep in mind

Cyrillic transliteration isn't unique — different systems (e.g. passport vs. scholarly) transliterate the same letters differently; this tool follows the official transliteration standard.

Keep slugs short and meaningful — long slugs are harder to remember and look worse in search results.

Bài viết về công cụ này: Slugify: cách biến bất kỳ văn bản nào thành URL

Câu hỏi thường gặp

Văn bản được chuyển thành slug thân thiện với URL như thế nào?

Văn bản được chuyển thành chữ thường, các ký tự Kirin (Ukraina, Nga) được chuyển tự theo tiêu chuẩn chính thức, dấu phụ và các ký tự không tương thích với URL bị loại bỏ, sau đó các từ được nối bằng dấu phân cách đã chọn.

Tôi có thể chọn dấu phân cách được dùng trong slug không?

Có, tùy chọn dấu phân cách cho phép bạn chọn ký tự nối các từ của slug, thường là dấu gạch ngang hoặc gạch dưới.

Văn bản nhập vào có được gửi đến máy chủ không?

Không, toàn bộ việc tạo slug chạy cục bộ trong trình duyệt của bạn bằng JavaScript, không có gì được gửi trực tuyến.

Phải làm gì nếu hai tiêu đề khác nhau cho ra cùng một slug?

Các tiêu đề "Xin chào, thế giới!" và "xin chào thế giới" sau khi chuẩn hóa sẽ cho ra cùng một slug, dù văn bản gốc khác nhau. Nếu slug được dùng làm định danh duy nhất (ví dụ trong URL bài viết), xung đột như vậy cần được xử lý thêm — thường bằng hậu tố số hoặc ID.

Vì sao chỉ mã hóa URL đơn thuần không thay thế được slug?

Percent-encoding cho chữ Kirin về mặt kỹ thuật hợp lệ trong URL, nhưng con người không đọc được và trông không đáng tin cậy trên thanh địa chỉ hay khi sao chép. Slug giải quyết đúng vấn đề khả năng đọc, chứ không chỉ tính hợp lệ kỹ thuật của ký tự.

Bài viết: Văn bản

Case Converter: vì sao có các kiểu đặt tên khác nhau

Vì sao trong một dự án, biến được viết camelCase nhưng tệp lại kebab-case, và những quy tắc này đến từ đâu.

Text Diff: thuật toán tìm sự khác biệt giữa hai văn bản như thế nào

Thuật toán diff tìm tập hợp thay đổi tối thiểu giữa hai phiên bản văn bản như thế nào.

Biểu thức chính quy: cú pháp cơ bản và các mẫu thường gặp

Cách đọc một biểu thức chính quy, và khớp tham lam khác khớp lười ra sao.

Sắp xếp và loại bỏ dòng trùng lặp: dùng để làm gì

Vì sao sắp xếp theo số đặt "10" trước "9" là một lỗi, và cách tránh điều đó.

String Escape: vì sao cùng một văn bản cần escape khác nhau

Vì sao cùng một dấu ngoặc kép lại được escape khác nhau trong chuỗi JS, JSON và lệnh shell.

CRLF so với LF: vì sao ký tự cuối dòng vẫn còn quan trọng

Vì sao một tệp được viết trên Windows có thể hiển thị là "toàn bộ đã thay đổi" trong git trên Linux.

Đếm ký tự và từ: vì sao không phải lúc nào cũng đơn giản

Vì sao một emoji hoặc chữ có dấu có thể được tính là nhiều ký tự cùng lúc.

Lorem Ipsum: văn bản giữ chỗ đến từ đâu và dùng để làm gì

Vì sao các nhà thiết kế cố tình dùng văn bản "vô nghĩa" thay vì nội dung thật trong bản phác thảo.

Markdown: vì sao cú pháp văn bản đơn giản đánh bại trình soạn thảo phức tạp

Vì sao lập trình viên chọn viết tài liệu bằng Markdown thay vì trình soạn thảo văn bản định dạng phong phú.

Khoảng trắng và ký tự vô hình: nguyên nhân ẩn giấu của các lỗi kỳ lạ

Vì sao hai chuỗi trông giống hệt nhau có thể không khớp do một ký tự vô hình.

Text Reverse: vì sao "đảo ngược văn bản" khó hơn tưởng tượng

Vì sao đảo ngược chuỗi ngây thơ có thể biến một emoji thành các byte không sử dụng được.

Phân tích tần suất văn bản: vì sao cần đếm số lần từ lặp lại

Tần suất chữ cái trong văn bản mã hóa giúp phá vỡ các mật mã thay thế đơn giản nhất như thế nào.