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

Резултати

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

Пребарај: #trojan

当前筛选 #trojan清除筛选
免费vpn节点分享

@mftizi · Post #105 · 17.07.2021 г., 01:05

韩国🇰🇷2号节点 vmess://eyJhZGQiOiJrcjIudXV2Mi5jby51ayIsImFpZCI6IjEiLCJob3N0Ijoia3IyLnV1djIuY28udWsiLCJpZCI6ImJhYzA0Y2JmLTkyYTctNDUwNy04OWM3LWNkMDY5Y2Y4MGRiNSIsIm5ldCI6IndzIiwicGF0aCI6Ii/lhY3otLnoioLngrl0Lm1lL21mdGl6aSIsInBvcnQiOiIxMDMzIiwicHMiOiLpn6nlm70yfOWFjei0ueair+WtkGh0dHBzOi8vdC5tZS9tZnRpemkiLCJzY3kiOiJhdXRvIiwic25pIjoiIiwidGxzIjoiIiwidHlwZSI6IiIsInYiOiIyIn0= #Trojan 韩国🇰🇷1号节点 trojan://[email protected]:443?sni=kr3.uuv2.co.uk#%E9%9F%A9%E5%9B%BD1%7C%E5%85%8D%E8%B4%B9%E6%A2%AF%E5%AD%90https%3A%2F%2Ft.me%2Fmftizi 香港🇭🇰2号直连节点 vmess://eyJhZGQiOiJoazIudXV2Mi5jby51ayIsImFpZCI6IjEiLCJob3N0IjoiaGsyLnV1djIuY28udWsiLCJpZCI6ImJhYzA0Y2JmLTkyYTctNDUwNy04OWM3LWNkMDY5Y2Y4MGRiNSIsIm5ldCI6IndzIiwicGF0aCI6Ii9UR0BtZnRpemkiLCJwb3J0IjoiMTAxNiIsInBzIjoi6aaZ5rivMnzlhY3otLnmoq/lrZBodHRwczovL3QubWUvbWZ0aXppIiwic2N5IjoiYXV0byIsInNuaSI6ImhrMi51dXYyLmNvLnVrIiwidGxzIjoidGxzIiwidHlwZSI6IiIsInYiOiIyIn0=

Hashtags

机场之家

@jichangzhijia · Post #21 · 21.07.2022 г., 01:41

▌机场名称:貝雪雲 ▌机场地址:https://besnow.org ▌成立时间:2021年7月 ▌支持协议:#trojan ▌套餐价格: 优质:19.8元 320G/月 专业:29.7元 640G/月 极致:49.8元 1024G/月 特惠:108元/年 100G/月 ▌特点介绍:主打香港线路,中转+直连,延时低带宽大;免费72H试用,解锁流媒体;已稳定运营一年,无跑路风险;年付6折码:lazy 👉机场之家👉免费投稿

Hashtags

机场之家

@jichangzhijia · Post #48 · 08.02.2023 г., 09:40

▌机场名称:棉花云 ▌机场地址:https://棉花云.com ▌成立时间:2019 ▌支持协议:#ss#Trojan ▌套餐价格: vip1月付 5.99元90G 10.99元250G 15.99元400G vip2月付 7.99元50 GB 13.99元100G 35.99元300G ▌特点介绍: 解锁绝大部分流媒体,vip2可免登录看奈飞(需安装证书) 限时84折优惠码:bhqz ▌使用注意: 兼容目前主流客户端包括但不限于Shadowrocket,V2rayN,V2rayNG,SSRRAY,Qumtumult,QuantumultX,Clash全平台! 提供一键连接客户端

Hashtags

机场花名册|持续更新

@airportroster · Post #626 · 09.03.2022 г., 14:41

[广告] 全 #Trojan 机场,落地有香港(HKBN、HGC)、台湾(Hinet)、美国(NTT等)、新加坡(Singtel)、英国(GTHost)、日本、荷兰(RackNerd),全部采用隧道传输,已经运营两年。 机场名:纵横加速 官网: okvpn.cloub okvpn.cc okvpn.cloud www.rerongtuliao.com 群组: @okvpn2020 频道: @hello_okvpn qq群: 1051137680 商店截图 已屏蔽中国大陆ip,最低套餐月付19元240G,提供有 #流量包 可供小众用户使用。机场难民有优惠!

Virtual School Private Network

@VSPN_PD · Post #159 · 11.01.2023 г., 03:00

▌机场名称:#VirtualSPrivateNetwork ▌机场地址:https://vpn.virtualschool.cc ▌成立时间:2022年12月 ▌支持协议:#trojan ▌套餐价格: 套餐1:1元200G每月; 套餐2:4.5元1000G每月; 套餐3:0元无限流量不限时(免费套餐); ▌特点介绍:1元200GB解锁全部节点,大部分解锁奈飞等流媒体,注册送1000GB 0.01倍率公益流量,注册满一个月可提交工单获得无限流量。 👉机场之家👉免费投稿

机场之家

@jichangzhijia · Post #43 · 28.12.2022 г., 09:07

▌机场名称:魔戒 ▌机场地址:https://mojie.la ▌成立时间:2019 ▌支持协议:#Vmess#Trojan ▌套餐价格: 按量计费:1元2G 12元130G、36元420G 、60元750G、 120元1660、240元3600G、600元10T (除1元套餐外,其他套餐双旦期间84折,活动持续到1月7日) ▌特点介绍: 按量计费,不限时间。所有套餐只有流量区别,所有节点不设倍率均为1倍率。新加坡美国解锁Netflix。 限时84折优惠码:bhqz ▌使用注意: 兼容目前主流客户端包括但不限于Shadowrocket,V2rayN,V2rayNG,SSRRAY,Qumtumult,QuantumultX,Clash全平台! 提供一键连接客户端

机场之家

@jichangzhijia · Post #41 · 05.11.2022 г., 06:34

▌机场名称:狼塔 ▌机场地址:https://wolftower.net/ ▌成立时间:2022年9月 ▌支持协议:#SS#Vmess#Trojan ▌套餐价格: 专用套餐:12元100G/月 基础套餐:20元200G/月 ▌特点介绍: 免费提供小火箭ID,免费试用3小时2G流量,限时7折优惠码:wftower30off(11.11前有效) ▌使用注意: 使用V2rayN和V2rayNG客户端,需要先设置【跳过证书验证】,否则大部分节点无法使用;Clsah不受影响正常! 👉机场之家👉免费投稿

123•••5•••10•••15•••20•••25•••30•••35•••40•••45•••50•••5455
ПретходнаСтраница 1 од 55Следна