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

Резултати

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

Пребарај: #x

当前筛选 #x清除筛选
天才魔法少女

@haddsddd · Post #14118 · 10.03.2026 г., 09:30

2031003384766206411 | 井上#X: LIVE2D触ってみました! パティちゃんです 2026年03月09日 13:45:15 via chino

Hashtags

XP Digital Lab

@rocCHL · Post #10132 · 31.03.2026 г., 10:40

X的自动翻译来了,和之前X的地区语言有区隔不一样,马斯克把所有人都丢在一个圈子里面,通过自动翻译,让语言不再成为沟通的障碍。 目前app还没有,我在网页版上发现已经启用了,在帖子上点击翻译旁边的⚙️ 标签:#X Created by RocM 官方频道:@rocCHL 官方群组:@roctech 官方合作:@rocmmbot

Hashtags

XP Digital Lab

@rocCHL · Post #9844 · 07.03.2026 г., 06:45

https://x.com/RocM301 标签:#x Created by RocM 官方频道:@rocCHL 官方群组:@roctech 官方合作:@rocmmbot

Hashtags

XP Digital Lab

@rocCHL · Post #9843 · 07.03.2026 г., 03:32

X正在测试的 X Money 已曝光其配套的 Visa 数字借记卡设计。 这张卡可直接绑定到 Apple Wallet 使用,支持移动支付,同时用户也可以申请实体卡并邮寄到家。 结合此前披露的信息,X Money 未来可能整合存款、支付与现金返现等金融功能,逐步把 X 打造成集社交与金融服务于一体的平台。 💳📱 标签:#x Created by RocM 官方频道:@rocCHL 官方群组:@roctech 官方合作:@rocmmbot

Hashtags

XP Digital Lab

@rocCHL · Post #9817 · 06.03.2026 г., 02:02

马斯克猛攻创作者经济:X 推出“专属推文串”,无需站外引流即可变现 X 平台全面升级“创作者订阅”服务。专属推文串(exclusive threads)可直接在 X 平台上实现内容变现。创作者可以在主帖中展示部分亮点内容,引导粉丝直接订阅。 X 平台还推出了可用于站内推广的“可分享订阅卡片”和全新数据看板。 标签:#x Created by RocM 官方频道:@rocCHL 官方群组:@roctech 官方合作:@rocmmbot

Hashtags

XP Digital Lab

@rocCHL · Post #9777 · 04.03.2026 г., 01:22

测试中的 𝕏 Money 与全黑实体 X Card 曝光更多细节。 该账户支持直接存款,年化收益最高可达 6%,并在特定条件下提供 Cashback 回馈。资金由 Cross River Bank 托管,且受 Federal Deposit Insurance Corporation(FDIC)最高 25 万美元存款保险保障。 由于涉及美国银行账户体系,开户需提供 ITIN 或 SSN。 标签:#x Created by RocM 官方频道:@rocCHL 官方群组:@roctech 官方合作:@rocmmbot

Hashtags

XP Digital Lab

@rocCHL · Post #9730 · 02.03.2026 г., 01:43

X/Twitter发布KOL广告禁入类别 不能收钱发布涉及医药/减肥/烟草等产品否则封号 X/Twitter 发布 KOL 付费推广的禁入类别:包括医药 / 博彩 / 减肥 / 烟草 / 保健品等多个类别的产品禁止发布,否则将面临封号。即 KOL 不能收钱发布这些敏感类别的内容,哪怕标记付费推广也不能发,否则被平台检测到或用户举报后轻则要求删帖并临时冻结发帖权限,重则直接封号。 标签:#x Created by RocM 官方频道:@rocCHL 官方群组:@roctech 官方合作:@rocmmbot

Hashtags

XP Digital Lab

@rocCHL · Post #9645 · 16.02.2026 г., 13:39

2026农历新年X又炸了,这三天两头的… 标签:#x Created by RocM 官方频道:@rocCHL 官方群组:@roctech 官方合作:@rocmmbot

Hashtags

123•••10•••20•••2627
ПретходнаСтраница 1 од 27Следна