@blvckwhiteclub · Post #1688 · 15.10.2025 г., 14:11
Там нам ПМСЛ интересная ситуация в таблице, хочется глянуть o_O #GOGOMAD😏 (подрублю после пмсл)
Hashtags
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #121 · 20 јул.
Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для URL, имени файла, имени объекта в каком-то софте и тд. Требования совместимости простые: в тексте должны быть только допустимые символы. Обычно это a-z, 0-9 и "_" или "-". То есть, только прописные буквы латинского алфавита и цифры (как пример). Допустим, нам нужно название статьи в блоге преобразовать в slug для добавления его в URL этой статьи. Как это лучше всего сделать? В Django по умолчанию есть готовая функция slugify для таких случаев. Но я её никогда не использую. Почему? Потому что её недостаточно! Приведём пример >>> from django.utils.text import slugify >>> slugify('This is a Title') 'this-is-a-title' Пока всё отлично >>> slugify('This is a "Title!"') 'this-is-a-title' Спец символы удалились, всё хорошо. >>> slugify('Это заголовок статьи') '' Вот и приехали 😢. Если текст не английский то буквы просто игнорируются. Можно это поправить >>> slugify('Это заголовок статьи', allow_unicode=True) 'это-заголовок-статьи' Но тогда мы не вписываемся в условие. У нас появилась кириллица в тексте. Так как я часто пишу сайты для русскоязычных пользователей эта проблема весьма актуальна. Я не использую стандартную функцию и всегда пишу свою. Оригинал я не беру в расчёт и пишу полностью свою функцию. И так, по порядку: 🔸1. Исходный текст: >>> text = 'Мой заголовок №10 😁!' Взял специально посложней со специальными символами. 🔸2. Транслит Необходимо сделать транслит всех символов в латиницу. Здесь очень выручает библиотека unidecode. Помимо простого транслита кириллицы в латиницу она умеет преобразовывать спец символы и иероглифы в текстовые аналоги. from unidecode import unidecode >>> unidecode("Ñ Σ ® µ ¶ ¼ 月 山") 'N S (r) u P 1/4 Yue Shan' Очень крутая библиотека, советую👍 В нашем случае получаем такое преобразование: >>> text = unidecode(text) >>> print(text) 'Moi zagolovok No. 10 !' Отличный транслит. Смайл просто удалился, хотя я ждал что-то вроде :). Ну и ладно, всë равно невалидные символы. А еще наш код уже поддерживает любой язык, будь то хинди или корейский. 🔸4. Фильтр символов Unidecode не занимается фильтрацией по недопустимым символам. Это мы делаем в следующем шаге через regex. Просто заменим все символы на "_" если они вне указанного диапазона. >>> text = re.sub(r'[^a-zA-Z0-9]+', '_', text) >>> print(text) 'Moi_zagolovok_No_10_' Символ "+" в паттерне выручает когда несколько недопустимых символов идут рядом. Все они заменяются на один символ "_". 🔸5. Slugify Осталось удалить лишние символы по краям и сделать нижний регистр >>> text = text.strip('_').lower() >>> print(text) 'moi_zagolovok_no_10' Получаем отличный slug! 😎 🌎 Полный код в виде функции. ______________ PS. Проверку что в строке остался хоть один допустимый символ я бы вынес в отдельную функцию. #libs#tricks#django
Пребарај: #gogomad
@blvckwhiteclub · Post #1688 · 15.10.2025 г., 14:11
Там нам ПМСЛ интересная ситуация в таблице, хочется глянуть o_O #GOGOMAD😏 (подрублю после пмсл)
Hashtags
@xgirya · Post #1631 · 23.06.2024 г., 18:30
500к за два дня + мвп турнира🤟 спасибо за поддержку🍯❤️ #gogomad
Hashtags
@xgirya · Post #1630 · 19.06.2024 г., 12:27
Очень рад стать частью большой семьи 🇰🇿 #GoGoMad 💜
Hashtags
@xgirya · Post #1620 · 09.06.2024 г., 19:30
Занимаем 3 место по итогу всей стадии лиги Всем спасибо за поддержку, увидимся в финале 13-15 июня #gogomad🇰🇬
Hashtags
@naomiop · Post #282 · 01.08.2024 г., 15:03
Всем привет✌️Как вы уже могли увидеть с сегодняшнего дня я возвращаюсь в свою самую первую организацию MadBulls. Много хороших воспоминаний и результатов связанных с ней, и теперь я буду продолжать достигать новых высот в стане быков. По поводу Team Spirit не мог в этом посте не поблагодарить организацию за пол года проведённые в ней, рад что получил опыт работы с такой крупной организацией и буду рад встретиться против них на крупных турнирах. Также и состав с которым я играл не могу не поблагодарить, мы прошли долгий путь от создания новой команды до финала пмгц, рад был играть со всеми парнями. Теперь наступает новая глава в моей карьере #GOGOMAD🐂
Hashtags
@naomiop · Post #9 · 23.10.2022 г., 19:51
МЫ ЕДЕМ НА PMGC!!!! @madbullspubgmobile #GOGOMAD
Hashtags
@xgirya · Post #1695 · 02.10.2024 г., 11:45
🤩 Легендарное возвращение обратно в семью. С сегодняшнего дня состав снова выступает под знаменами MadBulls! #GOGOMad#news
@naomiop · Post #283 · 05.08.2024 г., 10:09
❗️ Состав MadBulls с активным слотом на PMSL CSA 2024: Fall и амбициями хорошо выступить в рамках PMGC 2024 находится в поиске новой организации. Контакт для общения: @kitten_attack. #GOGOMad#search
@xgirya · Post #1609 · 01.06.2024 г., 15:46
😮💨 Врываемся на первое место командой таблицы. Завтра пройдёт крайний день второй недели, в рамках которого мы со всех сил будем отстаивать свой трон! #GOGOMad#pmsl#results
@xgirya · Post #1608 · 31.05.2024 г., 16:29
🤩 Улучшаем положение в таблице второй недели. Впереди ещё двенадцать матчей, увидимся завтра днём! #GOGOMad#pmsl#results
@xgirya · Post #1607 · 30.05.2024 г., 15:59
😎 Всего за один игровой день поднимаемся на пятую строчку таблицы с активом в 71 поинт. Встретимся завтра днём 😉 #GOGOMad#pmsl#results
@xgirya · Post #1629 · 19.06.2024 г., 12:26
😎 Welcome, Girya! Перед PMWC 2024 рады анонсировать нового тренера, который уже успешно поработал на PMSL CSA 2024: Spring и во всю готовит команду к поездке в Эр-Рияд. #GOGOMad#announcment#coach
Hashtags