Как добавить допустим класс тегу(html тегу), допустим к элементу [[*pagetitle]] при парсинге?

Хочу добавить класс каждому тегу который выставлен на страницу допустим
<div class="pr">[[*pagetitle]]</div>
добавить класс так
<div class="pr pagetitle_parsed">[[*pagetitle]]</div>
Пробовал так
<?php
switch ($modx->event->name) {
    case 'OnParseDocument':
        if($modx->user->isMember('Administrator')){
            $content = $modx->documentOutput;
            $tags = array();
            $collected = $modx->parser->collectElementTags($content, $tags, '[[', ']]', array('*'));
            // $modx->log(1, var_dump($tags));
            foreach($tags as $tag){
                $modx->log(1, var_dump($tag));
                break;
            }
            // $modx->log(1, var_dump($collected));
            
        }
        break;
Но даже не могу увидеть что за тег, имя и тд, мне просто выводится цифра 26
Viktor
22 июля 2022, 12:33
modx.pro
129
0

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

Viktor
22 июля 2022, 13:52
0
Или можно как-то через джс найти эти все теги, как вывести не спарсеный контент страницы могу, но к сожалению джс не может отрендерить это html в дом, html стандартный после установки.
pageSourceDom = new DOMParser().parseFromString(currentPageSource, "application/xml");
Html приходит рабочий проверял, пытался разными методами парсинга, по типу «text/xml»;
Ошибка такая «error on line 1 at column 2: StartTag: invalid element name»
    Viktor
    22 июля 2022, 14:24
    0
    Как вариант найти джсом
    <[^>]*?>(.*?)<[^>]*?>
    он найдёт все теги, затем пройтись по всем и проверить если modx теги, но тоже костыльно, не получилось отфильтровать нахождение тегов при поиске
    Артур
    22 июля 2022, 16:45
    0
    А какая задача?
      Viktor
      22 июля 2022, 17:43
      0
      Добавить в html тег класс, для каждого modx тега не парсенного:
      <div class="pr">[[*pagetitle]]</div>
      В
      <div class="pr pagetitle_parsed">[[*pagetitle]]</div>
      Контент не парсеный могу собирать, но джс не рендерит егов дом чтобы было проще, через OnParseDocument не удаётся даже вывести имя тега
        Артур
        22 июля 2022, 17:53
        0
        Не парсенного на каком этапе отдачи страницы на фронт?
          Viktor
          22 июля 2022, 18:04
          0
          Лучше наверно, джсом на стороне клиента чтобы бэка не трогать, но как подскажите, и тот и тот пойдёт.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      6