@exspeed_cloud · Post #80 · 15.08.2021 г., 13:06
#exspeed#ss#vmess#trojan 一个只有香港线路的高速中转机场 三种协议都有 流量特别便宜 官网: exspeed.cloud 价格: exspeed 100g/3元
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
Пребарај: #exspeed
@exspeed_cloud · Post #80 · 15.08.2021 г., 13:06
#exspeed#ss#vmess#trojan 一个只有香港线路的高速中转机场 三种协议都有 流量特别便宜 官网: exspeed.cloud 价格: exspeed 100g/3元
@exspeed_cloud · Post #74 · 29.07.2021 г., 13:34
#exspeed#ss#vmess#trojan 一个只有香港线路的高速中转机场 三种协议都有 流量特别便宜 官网: exspeed.cloud 价格: exspeed 100g/3元
@exspeed_cloud · Post #71 · 25.07.2021 г., 13:05
#exspeed#ss#vmess#trojan 一个只有香港线路的高速中转机场 三种协议都有 流量特别便宜 官网: exspeed.cloud 价格: exspeed 100g/3元
@exspeed_cloud · Post #100 · 07.12.2021 г., 11:56
#Exspeed #山东联通1000M #广州移动1000M #江苏电信1000M #江苏移动1000M
@airportroster · Post #899 · 10.06.2022 г., 12:43
(本次排查全体在榜机场,已经公布的就跳过了) 以下机场已跑路: 机场编号 机场名称 跑路原因 #编号506#Tired 已被 #WHYsless 合并 #编号522#起点云 纯公益的尽头是跑路 #编号525#Kirino 封车不维护了 #编号530#WANWAN 封车不做了 #编号535#熊崽猫咖 摆烂不做了 #编号554#吉他云 未知 #编号559#翻墙VPN 开地图炮被打 #编号639#小黑加速器 不开了 #编号409#蜜桃云 未知 #编号413#快萌 已合并到 #祢豆子 #编号450#FastVPN 未知 #编号451#whalecloud 机场主直接开摆,说六月上旬恢复。约等于跑路。 #编号456#VS服务 未知 #编号225#MOJITO 未知 #编号228#711cloud 未知 #编号239#小鸟云 早就跑路 #编号294#EXspeed 长时间不修节点,约等于跑路。 #编号106#Alink 已被 #NTHU 接手 #编号107#桃子男孩渡海边来 几个月前被抓了 #编号126#樱花落在纸上 未知 #编号127#Hxray 摆烂不做了 #编号156#72VPN 未知 #编号186#星云 节点放弃维护,跑路了 #编号194#Electry 无法找到新网址,故暂定为跑路。 #编号601#宝宝巴士 未知 上期跑路名单回顾 上上期跑路名单回顾 以下机场有特殊情况: #编号524#日不落 群主已蒸发,可能会跑。 #编号621#西瓜机场 无法确定是否跑路 #编号630#Morino 可能全新换名字了 #编号663#次元城 一个月内被转手两次,前期依靠便宜流量包吸引用户 #编号429#Fartrans 该机场备受争议,是为数不多的免流大机场 #编号283#xdmyyds 前段时间已被原机场主转手 #编号123#猫尾酒馆 现已由 #kekocloud 接手 #编号48#速蛙云 处于舆论中心,被某鹰针对中. #编号320#逸云 节点已大部分失联,网站不稳定,群转私有 如有上述机场信息有误,新补充跑路机场,可留言提醒。(累死宝宝了~)
Hashtags