@DepthwallsPremium · Post #1445 · 16.04.2025 г., 14:08
#sololeveling 👍❤️↪️ 33 reacciones, tiempo límite 24 hrs
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
Пребарај: #sololeveling
@DepthwallsPremium · Post #1445 · 16.04.2025 г., 14:08
#sololeveling 👍❤️↪️ 33 reacciones, tiempo límite 24 hrs
Hashtags
@TgSticker · Post #42620 · 09.03.2026 г., 12:02
Поднятие уровня в одиночку / Сон Джин-Ву #anime#SoloLeveling 😊создать свои стикеры
Hashtags
@DepthwallsPremium · Post #1506 · 09.05.2025 г., 19:01
#sololeveling#DepthEffect#hyperOS#iOS#wallpaper Disponible en DepthWalls Ultimate 🔥 https://t.me/DepthwallsPremium/627 No aceptes malas copias 😜😝😛
@DepthwallsPremium · Post #1451 · 17.04.2025 г., 22:08
#sololeveling #PeticionSubs #DepthEffect#xiaomi 👍❤️↪️ 22 reacciones, límite 5 hrs
@AloneSnowflake · Post #589 · 04.10.2025 г., 21:31
⊹ 𝐀pply 𝐓heme ˓ 💜 ˒ ༄ 𝐉oin 𝐂hannel ˙˚• #Sololeveling#Anime#Dark#Purple#Theme
@DepthwallsPremium · Post #1484 · 25.04.2025 г., 16:32
#sololeveling#DepthEffect#hyperOS2#iOS#wallpaper 👍❤️↪️ 77 reacciones y se sube
@ShadizinhoTikers · Post #475 · 03.10.2025 г., 07:10
🔤🔤🔤🔤🔤🔤🔤 𝘚𝘰𝘭𝘰 𝘓𝘦𝘷𝘦𝘭𝘪𝘯𝘨➁ Enjoy my new Pack Stikers 👏 and thanks for being here 😌 ▶️#sololeveling#sungjinwoo#anime 🟰 𝓒𝓻𝓮𝓪𝓽𝓸𝓻 🐱Shadizinho ➡️PINTEREST 😎฿ØØ₴₮ シ ⍩ ⍨ ⍤ ッ ㋛ ⍢〴 🕹
Hashtags
@ShadizinhoTikers · Post #418 · 29.09.2025 г., 00:03
🔤🔤🔤🔤🔤🔤🔤 𝘚𝘰𝘭𝘰 𝘓𝘦𝘷𝘦𝘭𝘪𝘯𝘨➁ Enjoy my new Pack Stikers 👏 and thanks for being here 😌 ▶️#sololeveling#sungjinwoo#anime 🟰 𝓒𝓻𝓮𝓪𝓽𝓸𝓻 🐱SΉΛDIZƗИΉӨ ➡️PINTEREST 😎฿ØØ₴₮ シ ⍩ ⍨ ⍤ ッ ㋛ ⍢〴 🕹
Hashtags
@ShadizinhoTikers · Post #398 · 26.09.2025 г., 19:40
🔤🔤🔤🔤🔤🔤🔤 𝘚𝘰𝘭𝘰 𝘓𝘦𝘷𝘦𝘭𝘪𝘯𝘨➁ Enjoy my new Pack Stikers 👏 and thanks for being here 😌 ▶️#sololeveling#sungjinwoo#anime 🟰 𝓒𝓻𝓮𝓪𝓽𝓸𝓻 🐱SΉΛDIZƗИΉӨ ➡️PINTEREST 😎฿ØØ₴₮ シ ⍩ ⍨ ⍤ ッ ㋛ ⍢〴 🕹
Hashtags
@ShadizinhoTikers · Post #394 · 26.09.2025 г., 19:17
🔤🔤🔤🔤🔤🔤🔤 𝘚𝘰𝘭𝘰 𝘓𝘦𝘷𝘦𝘭𝘪𝘯𝘨➁ Enjoy my new Pack Stikers 👏 and thanks for being here 😌 ▶️#sololeveling#sungjinwoo#anime 🟰 𝓒𝓻𝓮𝓪𝓽𝓸𝓻 🐱Shadizinho ➡️PINTEREST 😎฿ØØ₴₮ シ ⍩ ⍨ ⍤ ッ ㋛ ⍢〴 🕹
Hashtags
@comicszona · Post #5887 · 08.05.2026 г., 09:00
🇬🇧Solo Leveling #01 🇷🇺Поднятие уровня в одиночку #01 10 лет назад раскрылись врата в другой мир, где людям дозволено убивать монстров. Так появились охотники, преследующие и уничтожающие тварей. Но не каждому из них суждено повысить свой уровень и стать сильнее. Сон Джин Ву был охотником низшего E-ранга, у которого не было ни единого шанса продвинуться по ранговой лестнице, пока однажды он случайно не очутился в подземелье D-ранга. Чуть не погибнув от рук сильнейших чудовищ, Джин Ву открывает секрет повышения уровня, известный только ему одному. Теперь даже самый слабый может стать сильнейшим. #манга#manga#поднятиеуровняводиночку#sololeveling #чтиводня
@ShadizinhoTikers · Post #504 · 03.10.2025 г., 07:14
🔤🔤🔤🔤🔤🔤🔤 𝐀𝐛𝐬𝐨𝐥𝐮𝐭𝐞 𝐒𝐢𝐠𝐦𝐚☭ Enjoy my new Pack Stikers 👏 and thanks for being here 😌 ▶️#SoloLeveling#SungJinWoo#Sigma 🟰 𝓒𝓻𝓮𝓪𝓽𝓸𝓻 🐱SΉΛDIZƗИΉӨ ➡️PINTEREST 😎฿ØØ₴₮ シ ⍩ ⍨ ⍤ ッ ㋛ ⍢〴 🕹
Hashtags