欢迎访问宙启技术站
智能推送

使用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