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

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

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

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

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

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

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

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

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

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

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

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

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

Разбить строку на буквы в PHP

Январь 13, 2017 г.

Это задача - классика алгоритмов. В каждом языке программирования есть свои особенности. Для паскаля, к примеру, строка - это массив символов, потому ...

Читать

Обращение к свойству объекта/класса в PHP, если имя св-ва хранится в переменной

Декабрь 12, 2013 г.

Из разряда "на заметку программисту". Есть такие вещи, о которых знаешь что они есть, но забываешь конкретную реализацию, когда доходит до использования. Именно так обстоит дело с тем, что описано в заголовке. Т.е. у нас есть переменная, где хранится ...

Читать

Функция для локализации изображения при экспорте статьи

Февраль 29, 2016 г.

За многолетнюю практику работы с Drupal, я накопил целую библиотеку вспомогательных функций. Функция, описываемая в этой статье, используется для копирования ...

Читать

Время в PHP, смещение от GMT, UTC

Январь 14, 2016 г.

Для начала разберемся что такое GMT и UTC.  Во многих источниках они упоминаются как синонимы, и между ними действительно не существенная разница (до 1 секунды). Их отличие в методике получения точного значения. UTC (универсальное координированное ...

Читать
 

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

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



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