# urls.URLize
> 返回给定字符串，并把它清理为可用于 URL 的形式。
- 官方英文原文：https://gohugo.io/functions/urls/urlize/
- 本页规范地址：https://hugozh.cn/functions/urls/urlize/
- 最近更新：2026-10-02
- 最后提交：912b1d3 chore(site): 添加 static/CNAME（hugozh.cn），供 GitHub Pages 等平台绑定自定义域名
- 签名：urls.URLize INPUT
- 返回类型：string
- 站点：Hugo 中文文档（https://hugozh.cn/）· 社区维护的非官方中文翻译，如有出入以官方英文原文为准

---
[`anchorize`][] 与 [`urlize`][] 两个函数很相似：

- 用 `anchorize` 函数生成 HTML `id` 属性的值
- 用 `urlize` 函数把字符串清理为可用于 URL 的形式

例如：

```go-html-template
{{ $s := "A B C" }}
{{ $s | anchorize }} → a-b-c
{{ $s | urlize }} → a-b-c

{{ $s := "a b   c" }}
{{ $s | anchorize }} → a-b---c
{{ $s | urlize }} → a-b-c

{{ $s := "< a, b, & c >" }}
{{ $s | anchorize }} → -a-b--c-
{{ $s | urlize }} → a-b-c

{{ $s := "main.go" }}
{{ $s | anchorize }} → maingo
{{ $s | urlize }} → main.go

{{ $s := "Hugö" }}
{{ $s | anchorize }} → hugö
{{ $s | urlize }} → hug%C3%B6
```

用 `urlize` 函数可以创建指向术语页面（term page）的链接。

假设项目配置如下：

```toml
[taxonomies]
author = 'authors'
```

前置元数据如下：

```toml
title = 'Les Misérables'
authors = ['Victor Hugo']
```

发布后的站点将具有这样的结构：

```tree
public/
├── authors/
│   ├── victor-hugo/
│   │   └── index.html
│   └── index.html
├── books/
│   ├── les-miserables/
│   │   └── index.html
│   └── index.html
└── index.html
```

要创建指向术语页面的链接：

```go-html-template
{{ $taxonomy := "authors" }}
{{ $term := "Victor Hugo" }}
{{ with index .Site.Taxonomies $taxonomy (urlize $term) }}
  <a href="{{ .Page.RelPermalink }}">{{ .Page.LinkTitle }}</a>
{{ end }}
```

要生成与某个内容页面关联的术语页面列表，请在 `Page` 对象上使用 [`GetTerms`][] 方法。

[`anchorize`]: /functions/urls/anchorize/
[`urlize`]: /functions/urls/urlize/
[`GetTerms`]: /methods/page/getterms/

