Извлекаем атрибуты из шот/html кода

Предлагаю код очень простой функции-парсера атрибутов из кусочков html кода. Основное назначение — разбирать текст short-codes.

На входе: html код или shortcode.
На выходе: имя тега и набор атрибутов. Если ничего подходящего не найдено — получим false.

Примеры парсинга

Безразличие к виду скобок

Под шаблон одинаково хорошо подойдут входные данные вроде:

Результатом в любом из случаев будет вот такой массив:

Имена атрибутов и тега переводятся в верхний регистр. Может работать и вообще без скобок.

Несколько тегов

Если в парсер сунуть что то вроде :

т.е. пачку тегов вместо одного, то получим вот такой массив:

Функция проглотит последующие теги в качестве атрибутов, а одноименные атрибуты будут переписаны.

Мало букафф? Читайте есчо !

Как получить HTTP код ответа удаленного веб-сервера из PHP?

Июнь 23, 2018 г.

Когда требуется получить HTTP код для заданной URL, то вы наверняка воспользуетесь PHP функцией get_headers($url). Дальше я расскажу о разных подводных ...

Читать

Создание файла на Google Drive через API

Ноябрь 10, 2023 г.

Работа с API гугл - это ещё та головоломка, тут переплетены и вечно обновляемые версии API, не прозрачные процедуры авторизации и запутанная консоль разработчика. ...

Читать

Вызов замыкания из другой анонимной функции.

Декабрь 14, 2020 г.

При необходимости использовать (в PHP коде) замыкание (closure) A в коде замыкания B, возникает проблема в области видимости. Т.к. внутри B о функции A ничего не известно. Пример ситуации: [crayon-6a96d1170d096362553394/] Для того чтобы в ...

Читать

CURL выдаёт SSL certificate problem, что делать?

Февраль 12, 2017 г.

Если при отправке запроса через CURL по https, вы получаете следующую ошибку: [crayon-6a96d1170d277263640300/] То можно отключить соответствующие проверки, выключив в опциях следующие флаги -SSL_VERIFYHOST, SSL_VERIFYPEER. [crayon-6a96d1170d27d814538805/] ...

Читать
 

Комментарии к «Извлекаем атрибуты из шот/html кода»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: