Шорткод Python в HTML

Привет, я получаю строковый ответ от 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.

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

alexis 10.09.2018 11:31

Проблема заключалась в том, что я не мог найти библиотеку, которая выполняет синтаксический анализ, поэтому мне приходится прибегать к манипуляции с регулярным выражением и re.sub

Daniel 10.09.2018 13:09

Как долго вы искали? Вы погуглили "шорткод Python", и что не так с модулем шорткоды? Если вы попытались использовать этот модуль и столкнулись с проблемой, просьба (конкретная) помощь с вашим кодом бы будет в теме на этом сайте.

alexis 10.09.2018 14:09

не могу использовать модуль шорткодов, так как я привязан к python 2.7. Я потратил целую вечность на поиски. Все равно безуспешно :(

Daniel 10.09.2018 16:54

Ага, теперь это начинает обретать смысл. Но это один файл примерно из 250 строк. Моя рекомендация: придумайте, как его переписать для работы на Python 2. Это будет гораздо проще, чем собрать собственное, и вы можете узнать кое-что интересное о Python.

alexis 10.09.2018 21:03

Я только что посмотрел на него, заставить его работать на Python 2.7 практически не составит труда. Сделай это!

alexis 10.09.2018 21:09

Эту библиотеку шорткодов вы также можете просто re.sub, поскольку вам все равно нужно «зарегистрировать» элементы, которые вы хотите проанализировать.

Daniel 12.09.2018 16:00

Даниэль, в опубликованном вами примере короткого кода есть атрибут css, заключенный в фигурные скобки. Даже если вы не хотите его интерпретировать, вам нужно пропустить его. Я бы попробовал библиотеку, если бы у меня был кто-то еще, на которого можно поругаться, если дела пойдут плохо ...

alexis 12.09.2018 16:47
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
8
132
0

Другие вопросы по теме