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

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

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

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

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

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

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

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

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

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

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

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

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

Конструктор класса в PHP и его перегрузка

Январь 26, 2016 г.

В версии PHP 5 мы получили возможность использовать конструктор класса, специальную функцию, объявляемую в классе, которая служит для инициализации экземпляра объекта. К сожалению, конструкторы, как и остальные методы класса в PHP, не могут быть "перегружены". ...

Читать

Функция сравнения двух строк на PHP

Август 1, 2017 г.

Насколько похожи две строки? В PHP для выяснения подобия строк есть две функции - similar_text() и levenshtein(). Первая из них считает процент ...

Читать

Сериализация HTML строки из PHP в JS

Август 7, 2019 г.

Рассмотрим разновидность задачи по сериализации данных - мне нужно было сохранить HTML код в атрибуте контейнера, чтобы вставлять его по определенному событию в верстку. Можно было сразу вставить кусочки HTML кода в документ и далее манипулировать ...

Читать

Импортируем изображения через wysiwyg

Декабрь 27, 2014 г.

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

Читать
 

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

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



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