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

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

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

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

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

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

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

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

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

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

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

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

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

Валидатор для JSON строки в PHP

Октябрь 2, 2018 г.

К JSON можно относиться как к одной из разновидностей текстовых форматов передачи данных. Но для PHP это просто ещё одна скалярная строка. Как определить, что перед нами действительно JSON? Чтобы убедиться, придется попытаться декодировать строку. ...

Читать

Можно ли вызвать статический метод trait в php, не подключая его к какому то классу?

Май 27, 2025 г.

Если коротко - нельзя. Вызвать какой метод трейта напрямую без подключения его к классу невозможно, т.к. трейты в PHP не являются самостоятельными сущностями, как классы или объекты. Трейт — это механизм "вклейки" кода в класс. Он не компилируется ...

Читать

Вывод анонсов статей с картинкой, в Wordpress

Август 5, 2013 г.

Сформулируем задачу. Нужно вывести 3 (а в общем случае N) анонсов новостей, с картинкой, в шаблоне на главной странице сайта. Этот кусочек должен выглядеть ...

Читать

Urlencode расширенная практика применения

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

UrlEncode - php-функция, которая подготавливает значение для использования его как часть html ссылки, заменяя спец. символы, кириллицу и т.п. на закодированные ...

Читать
 

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

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



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