Привет, я получаю строковый ответ от API в виде шорткода. Я хочу разобрать его на html, чтобы отправить его на веб-сайт, который принимает только html или разметку
Я использую Python 2.7
Я подумывал написать
description = re.sub('\[vc_sub_header\]','<h1>'description)
description = re.sub('\[\\vc_sub_header\]','<h1>'description)
но некоторые элементы шорткода содержат класс css, который мне нужно игнорировать.
Вот фрагмент ответа, который мне нужно проанализировать:
[vc_column_text css=\".vc_custom_1536261801005{margin-bottom: 0px !important;border-bottom-width: 0px !important;padding-bottom: 0px !important;}\"]On 5 September 2018 [/vc_column_text]
Я хочу анализировать элементы, игнорируя текст css:
[vc_column_text css=\".vc_custom_1536261801005{margin-bottom: 0px !important;border-bottom-width: 0px !important;padding-bottom: 0px !important;}\"]
кому: <p>
Я думал об использовании регулярного выражения, но это сложно, потому что я не знаю, как игнорировать часть css.
Проблема заключалась в том, что я не мог найти библиотеку, которая выполняет синтаксический анализ, поэтому мне приходится прибегать к манипуляции с регулярным выражением и re.sub
Как долго вы искали? Вы погуглили "шорткод Python", и что не так с модулем шорткоды? Если вы попытались использовать этот модуль и столкнулись с проблемой, просьба (конкретная) помощь с вашим кодом бы будет в теме на этом сайте.
не могу использовать модуль шорткодов, так как я привязан к python 2.7. Я потратил целую вечность на поиски. Все равно безуспешно :(
Ага, теперь это начинает обретать смысл. Но это один файл примерно из 250 строк. Моя рекомендация: придумайте, как его переписать для работы на Python 2. Это будет гораздо проще, чем собрать собственное, и вы можете узнать кое-что интересное о Python.
Я только что посмотрел на него, заставить его работать на Python 2.7 практически не составит труда. Сделай это!
Эту библиотеку шорткодов вы также можете просто re.sub, поскольку вам все равно нужно «зарегистрировать» элементы, которые вы хотите проанализировать.
Даниэль, в опубликованном вами примере короткого кода есть атрибут css, заключенный в фигурные скобки. Даже если вы не хотите его интерпретировать, вам нужно пропустить его. Я бы попробовал библиотеку, если бы у меня был кто-то еще, на которого можно поругаться, если дела пойдут плохо ...






Дэниел, ответ на ваш вопрос: «Ради бога, не пытайтесь делать это с помощью специальных регулярных выражений! Вы только вызовете у себя много головной боли. Найдите библиотеку, которая может читать этот формат шорткода и преобразовывать его в HTML, или во что-то еще, что вы можете в дальнейшем преобразовать ". Но рекомендовать библиотеку на этом сайте не по теме, как объясняется в закрытом сообщении.