Генератор slug
Преобразуйте любой текст в чистый, удобный для URL slug.
Генератор слагов преобразует заголовок или фразу в URL-дружественный слаг — строку в нижнем регистре, разделённую дефисами, без специальных символов и пробелов. Например, «Моя первая запись в блоге!» станет «moya-pervaya-zapis-v-bloge».
Введите заголовок или фразу — инструмент мгновенно создаст чистый слаг. Процесс конвертации удаляет акценты и диакритические знаки, переводит все символы в нижний регистр, заменяет пробелы и знаки препинания дефисами, удаляет оставшиеся символы, которые не являются буквенно-цифровыми или дефисами, и сворачивает несколько последовательных дефисов в один.
Хорошо составленные слаги улучшают SEO, делая URL читаемым и релевантным теме страницы. Поисковые системы рассматривают слова в URL как сигнал релевантности. Сохраняйте слаги краткими — по возможности опускайте артикли и предлоги.
Часто задаваемые вопросы
Реализация кода
import re
import unicodedata
def slugify(text: str, separator: str = "-") -> str:
"""Convert text to a URL-friendly slug."""
# Normalize unicode: decompose accented chars (é → e + combining accent)
text = unicodedata.normalize("NFKD", text)
# Encode to ASCII bytes, ignore errors (drops non-ASCII)
text = text.encode("ascii", "ignore").decode("ascii")
# Lowercase
text = text.lower()
# Replace any non-alphanumeric characters with the separator
text = re.sub(r"[^a-z0-9]+", separator, text)
# Strip leading/trailing separators
text = text.strip(separator)
return text
# Examples
print(slugify("Hello, World!")) # hello-world
print(slugify(" Multiple Spaces ")) # multiple-spaces
print(slugify("Héllo Wörld")) # hello-world
print(slugify("C++ is awesome!")) # c-is-awesome
print(slugify("Blog Post #42")) # blog-post-42
print(slugify("Hello World", "_")) # hello_world (underscore)
# For Python web frameworks like Django, use built-in slugify:
# from django.utils.text import slugify
# slugify("Hello, World!") # "hello-world"Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.