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