Простой парсер таблицы в массив из HTML

Задача: необходимо преобразовать страницу HTML, в которой данные размещены в виде стандартной таблицы обрамленной тегами <table></table>, в двумерный массив на PHP (парсер таблицы в массив).

Сначала я хотел решить задачу «в лоб», а именно искать теги в тексте, писать функционал по вычленению данных между тегами.. Но потом подумал, что «наверное всё уже придумано до нас», для подобных задач. Ну и собственно оказался прав. Задачу решил без лишних усилий в течении минут 5.

Решение: воспользуюсь PHP функцией DOMDocument для того чтобы преобразовать текст в DOM объект:

Так я получаю построенное DOM дерево. Затем получаю все «ветки» по имени tr, и перебираю их, одновременно перебирая «всех листья» (т.е. тэги td):

Данные я передал в двухмерный массив $mass, т.е. задача «парсер таблицы в массив» решена

парсер таблицы в массив через построение DOM

Ну а тут ссылка на подобную же задачу, но вместо HTML документа — файл формата XML

1С: Получить таблицы из Html

Задача: в неком html файле содержится несколько таблиц. Необходимо их распарсить и обработать силами 1С

Решение: воспользуемся построителем DOM. Результатом работы функции будет массив таблиц html документа.

JavaScript: удаление html тэгов из стороки

Задача: удалить из переменной все тэги вида <тэг>бла-бла</тэг>

Решение: воспользуемся регуляркой

Выведет в консоль только «А тут всё хорошо»

Bitrix: уязвимость CGI Generic HTML Injections

Уязвимость актуальна для версии v21.9 и ниже. Пока нет информации что исправлена!

Эксплуатация: при переходе по специально сформированной ссылке на сайт с битриксом, выводится произвольное содержимое и выполняется произвольный js код.

Проверка вшивости сайта:

Исправление: самый простой способ, до исправления от битрикса — поправить .httaccess, добавив строчки:

JQGrid Free: вставка html в ячейку

Свободная редакция слегка отличается от не свободной. А потому вставка кода HTML в ячейку осуществляется несколько по иному:

Получается что то вроде:

1 2 3