Разбор пользовательских тегов / элементов в документе - PullRequest
0 голосов
/ 11 июля 2019

Я хотел бы проанализировать пользовательские теги / элементы, такие как <blu> </blu>, из любого документа, в котором они находятся. Эти пользовательские теги являются заполнителями, которые будут заменены другим текстом в документе.

Документы, в которых можно найти эти пользовательские теги, могут быть любого типа с любым расширением.Это могут быть HTML, js, PHP, .txt, .ts, .xml ... и т. Д.

Использование синтаксического анализатора DOM или XML недопустимо, поскольку документы могут быть любого типа, например:указано выше.

Некоторые правила, которых я пытаюсь придерживаться:

  • Имя элемента всегда <blu></blu>
  • Элемент может содержать содержимое <blu> some content here </blu>
  • Элемент может иметь атрибуты <blu file=""></blu> или <blu ref=""> </blu>
  • Элементы могут быть вложенными:

    <blu> <blu ref=""> <blu file=""></blu> </blu> </blu>

В качестве примера документа (doc.txt):

This document is an example for parsing custom tags
Some more documentation can be found in <blu file="file:///filename.txt"></blu> 
Other things that can be done here:

  <blu if="textFile">
    <blu if="title>Leave this title here</blu>
  </blu>

The elements could also be added to other file types such as: 
<blu types=".ts,.txt,.php,.xml"></blu>
And so it goes on...

Я хочу проанализировать теги <blu> и получить:

  • их позиции в документе,
  • их атрибуты,
  • их содержание
  • их дети, если они вложенные (с позициями / атрибутами детей).

Я смотрелв регулярных выражениях, синтаксических анализаторах и не имеют четкого понимания того, как лучше всего подойти к этому.

Я делаю это с помощью javascript в приложении Node.js.

Что лучше /Наиболее практичный способ достичь этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...