使用Python编写代码将中文标题转换为URL友好的slugify版本
发布时间:2024-01-17 09:35:46
下面是一个使用Python编写的将中文标题转换为URL友好的slugify版本的例子:
import re
import unicodedata
def slugify(text):
# 将文本转换为小写字母
text = text.lower()
# 利用unicodedata库将文本中的特殊字符转换为普通ASCII字符
text = unicodedata.normalize('NFKD', text).encode('ascii', 'ignore').decode('utf-8')
# 使用正则表达式去除非字母数字字符
text = re.sub(r'[^a-zA-Z0-9_-]', '', text)
# 使用正则表达式去除连续的非字母数字字符
text = re.sub(r'[-_]+', '_', text)
# 去除开头和结尾的非字母数字字符
text = text.strip('_')
return text
# 使用例子
title = '这是一个中文标题'
slug = slugify(title)
print(slug)
# 输出:zhe_shi_yi_ge_zhong_wen_biao_ti
在上面的代码中,我们首先将文本转换为小写字母。然后使用unicodedata库将文本中的特殊字符转换为普通的ASCII字符。接下来,使用正则表达式去除非字母数字字符,并将连续的非字母数字字符替换为单个下划线。最后,去除开头和结尾的非字母数字字符。这样就得到了一个URL友好的slug。在使用例子中,我们将中文标题转换为了zhe_shi_yi_ge_zhong_wen_biao_ti。
