Text 转 Slug — 把文本转为 URL 友好的 slug
把任意文本转为 URL 友好的 slug。小写、横线分隔、剥离特殊字符 —— 适合 CMS 永久链接、文件名和标识符。
Text to Slug
Convert text to URL-friendly slugs. Works entirely in your browser.
Slug 是 URL 中标识某个具体页面的人类可读部分。这个词源自报纸出版业 —— 在编辑流程中,文章会被赋予一个短名(slug),排版工人能迅速抓取并放到版面上。在 Web 上,slug 就是路径的最后一段:example.com/blog/how-to-bake-bread。每一种 CMS、每一种静态站点生成器、每一种博客平台都会从标题生成 slug,每个开发者也都曾手工制作过 slug:把标题小写、空格换成横线、再把破坏 URL 的标点剥掉。
Text-to-Slug 工具用 Web 业界已成共识的标准规则把这个流程自动化:小写、横线作为词分隔符、剥离一切非字母数字字符。转写步骤能正确处理带音标的字符 —— 拆分 Unicode 并移除变音符号 —— 因此「José’s Café」这种标题会变成「joses-cafe」。最大长度、停用词移除、自定义分隔符这些选项覆盖了不同平台各自的规则:WordPress 在 200 字符处截断;一些静态站点生成器使用下划线而非横线;SEO 指南建议移除填充词。输出可直接粘贴到任何 CMS、任何 URL 地址栏和任何文件系统。
使用方法
输入你的文本
输入或粘贴标题、导语或短语。Slug 会在你输入时实时更新 —— 输出全部小写,空格替换为横线,所有非字母数字字符都会被剥离。
调整 slug 选项
可切换的选项:最大长度(按词边界裁剪到 N 个字符)、停用词移除(剥离 the、a、and 这类常见词)、自定义分隔符(横线、下划线或句点)。
复制 slug
把生成的 slug 复制到剪贴板,可直接用作 URL 路径段、文件名、HTML id 属性或数据库键。
常见问题
Slug 里允许哪些字符?
默认允许小写字母(a-z)、数字(0-9)和横线。其他字符会被转写(带音标的字母转成 ASCII 基本字母)、移除或替换。输出可安全用于 URL、任何操作系统的文件名以及数据库标识符。
带音标的字符是如何转写的?
带变音符号的字符会被拆分为基本字母加变音符号(使用 Unicode Normalisation Form D),然后移除变音符号。é 变成 e、ñ 变成 n、ü 变成 u。Greek、Cyrillic、CJK 等没有天然 ASCII 对应的字符,除非开启「allow Unicode」,否则会被剥离。
能保留某些特殊字符吗?
开启「allow Unicode」可在输出中保留非 ASCII 字母 —— 适用于多语言站点希望 slug 保留原始字符的场景。开启后输出仍然 URL 安全(浏览器需要时会做百分号编码),但可能与遗留文件系统不兼容。
移除停用词的目的是什么?
停用词——the、a、an、is、of、and——只会增加长度而不增加含义。移除它们能产出更短、更易读的 slug。这个选项适合博客文章的 URL:当标题较长时,slug 应该只保留有意义的词。
限制说明
- 不检测重复 slug工具只根据输入生成单个 slug,不会检查数据库或文件系统中的已有 slug。如果要在可能冲突的 CMS 中使用,请附加数字或日期前缀以保证唯一性。
- 没有语言特定的停用词列表停用词列表只有英文。如果要为其他语言生成 slug,请关闭停用词移除,或在转换前手动预处理文本以移除停用词。
- 过短的输出可能有歧义在激进的字数限制和停用词移除同时开启时,过短的 slug(少于 15 个字符)可能因丢失过多含义而产生歧义。在作为永久标识符使用前请先复核。
平台说明
- macOS
- 终端等价命令是 `echo 'My Title' | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | tr -s '-'`。浏览器工具一步完成转写、停用词移除和长度裁剪。
- Linux
- `slugify` 是 npm 上处理该任务的常见包。本浏览器工具免去了安装包,并在你调整选项时实时展示 slug。
- Web
- 完全在浏览器中运行。文本在本地处理,永远不上传 —— 适合为尚未发布的内容生成 slug。