TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

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

Резултати

Пронајдени 3 слични објави

Пребарај: #pandapt

当前筛选 #pandapt清除筛选
PT风向旗

@Ptfxq · Post #844 · 27.01.2025 г., 13:00

新春佳节将至,风向旗全体小编提前祝各位朋友蛇年大吉,收割不断! 以下是小编总结的各站活动: #1ptba #站点免费 1.27 17:00:00 - 2.5 09:00:00 #Audiences#观众 #站点免费 1.28 00:00:00 - 1.29 23:59:59 #官种免费 1.30 00:00:00 - 2.4 23:59:59 #开放邀请 邀请价格降低至 288,888;邀请权限调整至 (杰出公民)Veteran User 视新成员人数及质量而定,可能提前终止。 抽奖盲盒价格降低至 2000/次,每日限量 25 个,超出恢复原价 #BTSchool#学校 #站点免费 2.1 - 2.5 #开放邀请 1.27 - 2.5 Power 级别及以上,每人 5 个临时邀请码,有效期10天;邀请权限下调至 USER。 #carpt#车站 #站点免费#开放注册 1.28 - 2.4 全站 2xfree 及开放注册 #CHD#CHDbits #站点免费 1.28 - 2.04 #开放邀请 骨灰和 VIP 将在 1 月 28 日获得一枚限时邀请,过期作废;受邀人需在 1.29 中午 12 时前完成注册,否则邀请链接自动失效。 #FSM #站点免费 即日起 - 2.12 23:59:59 #freefarm#自由农场 #开放注册 1.28 - 2.4 #HDCity#城市 #全站免费 即日起 - 大年初八(2.5) #HDHome#家园 #开放邀请 家园发放了临时邀请 3 个,NM+可发送 #HDTime#时间 #站点免费 1.25 00:00:00 - 2.6 00:00:00 #开放注册 2.8 - 2.13 #HDV#hdvideo #站点免费 1.24 00:00:00 - 1.31 00:00:00 #HHan#憨憨 #站点免费 1.28 00:00:00 - 2.3 23:59:59 #开放邀请 1.28 00:00:00 - 1.30 23:59:59 VIP及以上等级用户可以发放邀请 #nypt#南洋 #开放邀请 全体赠送一枚邀请,有效期至 2.5 00:00 #OB#Ourbits#我堡 #站点免费 1.28 00:00:00 - 1.31 00:00:00 #开放邀请 邀请权限下调至 VIP,请勿在公开场合发送本站邀请。 #pandapt#熊猫 #站点免费 1.27 00:00:00 - 2.5 00:00:00 #开放邀请 1.27 00:00:00 - 2.5 00:00:00 魔力商城限时开放临时药兑换;Power User 及以上用户可发放邀请。 #PterClub#Pter#猫站 #站点免费 1.28 00:00:00 - 1.30 23:59:59 #putao#SJTUPT#葡萄 #站点免费 1.28 12:00:00 - 2.4 22:00:00 #Qingwa#青蛙 #站点免费#开放邀请 1.27 - 2.4 站免同时下调邀请等级至 EU #rain#雨站 #站点免费 1.28 00:00 - 2.28 23:59:59 #开放注册 1.28 00:00 - 2.12 23:59:59 #soulvoice#聆音 #站点免费#开放注册 即日起 - 2.5 #Zhuque#朱雀 #站点免费#开放邀请 即日起 - 2.4 18:00

这个App正在限免

@Appxmtf · Post #936 · 27.01.2025 г., 13:49

新春佳节将至,风向旗全体小编提前祝各位朋友蛇年大吉,收割不断! 以下是小编总结的各站活动: #1ptba #站点免费 1.27 17:00:00 - 2.5 09:00:00 #Audiences#观众 #站点免费 1.28 00:00:00 - 1.29 23:59:59 #官种免费 1.30 00:00:00 - 2.4 23:59:59 #开放邀请 邀请价格降低至 288,888;邀请权限调整至 (杰出公民)Veteran User 视新成员人数及质量而定,可能提前终止。 抽奖盲盒价格降低至 2000/次,每日限量 25 个,超出恢复原价 #BTSchool#学校 #站点免费 2.1 - 2.5 #开放邀请 1.27 - 2.5 Power 级别及以上,每人 5 个临时邀请码,有效期10天;邀请权限下调至 USER。 #carpt#车站 #站点免费#开放注册 1.28 - 2.4 全站 2xfree 及开放注册 #CHD#CHDbits #站点免费 1.28 - 2.04 #开放邀请 骨灰和 VIP 将在 1 月 28 日获得一枚限时邀请,过期作废;受邀人需在 1.29 中午 12 时前完成注册,否则邀请链接自动失效。 #FSM #站点免费 即日起 - 2.12 23:59:59 #freefarm#自由农场 #开放注册 1.28 - 2.4 #HDCity#城市 #全站免费 即日起 - 大年初八(2.5) #HDTime#时间 #站点免费 1.25 00:00:00 - 2.6 00:00:00 #开放注册 2.8 - 2.13 #HDV#hdvideo #站点免费 1.24 00:00:00 - 1.31 00:00:00 #HHan#憨憨 #站点免费 1.28 00:00:00 - 2.3 23:59:59 #开放邀请 1.28 00:00:00 - 1.30 23:59:59 VIP及以上等级用户可以发放邀请 #nypt#南洋 #开放邀请 全体赠送一枚邀请,有效期至 2.5 00:00 #OB#Ourbits#我堡 #站点免费 1.28 00:00:00 - 1.31 00:00:00 #开放邀请 邀请权限下调至 VIP,请勿在公开场合发送本站邀请。 #pandapt#熊猫 #站点免费 1.27 00:00:00 - 2.5 00:00:00 #开放邀请 1.27 00:00:00 - 2.5 00:00:00 魔力商城限时开放临时药兑换;Power User 及以上用户可发放邀请。 #PterClub#Pter#猫站 #站点免费 1.28 00:00:00 - 1.30 23:59:59 #putao#SJTUPT#葡萄 #站点免费 1.28 12:00:00 - 2.4 22:00:00 #rain#雨站 #站点免费 1.28 00:00 - 2.28 23:59:59 #开放注册 1.28 00:00 - 2.12 23:59:59 #soulvoice#聆音 #站点免费#开放注册 即日起 - 2.5 #Zhuque#朱雀 #站点免费#开放邀请 即日起 - 2.4 18:00

PT风向旗

@Ptfxq · Post #653 · 26.04.2024 г., 01:37

关闭登录的内站登陆方法、各站点的官方群组、频道、机器人等信息。本条消息将及时更新,转发消息请点击👆🏻“PT风向旗“👆🏻查看最新版本 因为 TG 的单条消息的字数限制,故切分消息并按照首字母排序。共三条消息,本条消息为第三条,包含 P-Z 开头的站点。 #pandapt#大熊猫 官方频道:https://t.me/+JrJOaxdj5iVlZGU1 官方群组:https://t.me/+jsSiVvKa2MNiMmU9 关门登录:印象中没关过门 #Piggo#猪猪网 官方机器人:https://t.me/PigGo_official_Bot 官方群组:绑定官方机器人加入 关门登录:通过官方机器人获取登录链接 #Pter#PterClub#猫#猫站 官方机器人:https://t.me/PTerClubBot 账号问题申诉机器人:https://t.me/trackermodbot 官方频道:https://t.me/PterClub 官方群组:https://t.me/+Inhlbr6qmaBlZjQ1 关门登录:通过官方机器人获取登录链接 #PTH#PTHome#铂金家 官方机器人:https://t.me/Pthome_Bot 官方频道:https://t.me/mypthome 官方群组:https://t.me/+UffbhnOHu8oApN67 关门登录:通过官方机器人获取登录链接 #PTChina#铂金学院 什么都没找到 #PTFans 什么都没找到 #PTsbao#sbao#烧包 官方机器人:https://t.me/sbao_bot 官方群组:https://t.me/+ceZMEkPs6d5kNTZl 旧的官方群组:https://t.me/joinchat/MRSnwRYOgdhqVH7CvMlZqg 关门登录:官方机器人 或 网址后加 "/adminer.6b72d14a2b5f0d92a740ccb55a2599d8.php" 即可看到相关说明。 #PTT#PTTime 什么都没找到 #PTLSP 官方频道:https://t.me/PTLSP_Official 官方群组:通过站内 PM 站长申请加入 关门登录:印象中没关过门 #ptvicomo#象站#象岛 官方机器人:https://t.me/PTVicomoBot 官方群组:(未找到有效的加入链接) 关门登录:通过官方机器人获取登录链接 #Qingwa#青蛙 官方机器人:https://t.me/qingwaking_bot 官方群组:https://t.me/+iI18wsDQ1hQ1ZTZl 关门登录:通过官方机器人获取登录链接 #rousi#肉丝 官方群组:https://t.me/rousiclub 关门登录:网址后加 "login.php" 即可。 #sharkpt#鲨鱼 官方机器人:https://t.me/sharkpt_bot 官方频道:https://t.me/shayupt 官方群组:https://t.me/shark_pt_offical 关门登录:印象中没关过门,如果登录不上挂个梯子试试 #SJTUPT#SJTU#葡萄 什么都没找到 #SkyeySnow#天雪 什么都没找到 #soulvoice#聆音 官方群组:(未找到有效的加入链接) #srvfi 官方群组:https://t.me/srvfiraws 关门登录:印象中没关过门 #Tccf#他吹吹风 什么都没找到 #TJU#TJUPT#北洋#北洋园 官方机器人:https://t.me/TJUPT_bot 官方频道:https://t.me/tjupt2010 关门登录:通过官方机器人获取登录链接 #TLF#TLFBits 官方频道:https://t.me/tlfbits 官方群组:https://t.me/joinchat/nAqf8pC6Y1lkNWFh 关门登录:印象中没关过门 #TTG 准官方频道:https://t.me/joinchat/VXzcnSsRa8DttakH 准官方群组:https://t.me/+KCkEpVCikBZjZjQ1 关门登录:只能自行备份 Cookies #U2#幼儿园 无任何官方频道、群组、机器人,也没关过门。 目前比较活跃的非官方群组需要通过非官方机器人加入 https://t.me/UCoinLoginBot 还有魔法观测、宕机推送等频道需要通过非官方机器人加入 https://t.me/U2ObserverBot #Ubits 官方群组:https://t.me/Ubits_chat 关门登录:印象中没关过门 #UltraHD 官方机器人:https://t.me/ultrahd_kf_bot 官方群组:(未找到有效的加入链接) 关门登录:通过官方机器人获取登录链接 #WinterSakura#冬樱 官方群组:https://t.me/+T4YrDUV-C3hkZGRl 关门登录:印象中没关过门 #xingtan#杏坛 官方群组:(未找到有效的加入链接) 关门登录:印象中没关过门 #YDY#伊甸园 官方群组:https://t.me/YDYPT (谨慎加入,群组已无人维护,广告漫天) 关门登录:网址后加 "/login.php" 即可。 #ying#starspace#影#星空 官方频道:https://t.me/ShadowFlow_Official_Channel 官方群组:https://t.me/JHnYgw0OGY1 关门登录:印象中没关过门 #zmpt#织梦 官方频道:https://t.me/zmptcc 官方群组:https://t.me/+ZGBAaRcU_pBmZjFl 关门登录:官方频道内会发布登录链接 #zhuque#朱雀 官方机器人:https://t.me/ZHUQUE_helper_bot 官方频道:https://t.me/channel_zhuque 官方群组:https://t.me/group_zhuque 关门登录:通过官方机器人获取登录链接