Это немного зависит от того, как ваши html-блоки хранятся в памяти.У вас есть массив строк, каждая из которых содержит HTML для одного «блока»?Если нет, то можете ли вы сделать это с помощью функции PHP explode()
?(Например, $html_blocks = explode("<!---->", $all_html);
, если эта последовательность комментариев на самом деле является частью ваших данных, а не чем-то, что вы добавили.)
После разделения блоков вы можете использовать preg_grep()
, чтобы найти блоки, которыене содержат «используется».Так что сделайте что-то вроде этого:
$unused_blocks = preg_grep("Used", $html_blocks, PREG_GREP_INVERT);
Если вы хотите быть более осторожным в сопоставлении, вы можете использовать другое регулярное выражение в качестве первого параметра.
Теперь у вас есть $unused_blocks
, чтомассив строк HTML, которые «не используются».Затем вы можете использовать уже работающий шаблон preg_match()
, чтобы извлечь идентификаторы для каждого из них.
Надеюсь, что это поможет или в любом случае приблизит вас.