2012-03-10 2 views
1

Я видел снова и снова, и снова и снова в Stack Overflow, что регулярное выражение НЕ подходит для XHTML. Однако я не видел альтернативы.Альтернативы регулярному выражению для HTML

Большинство текстовых редакторов имеют встроенный поиск и замену RegEx, который просто супер прост в использовании. Ну, за исключением того, что он плохо работает с HTML. Есть ли какой-нибудь инструмент или язык, предназначенный для синтаксического анализа и вместо XHTML? Было бы здорово, если бы вы могли сказать «найти все теги абзацев, которые имеют класс« цитата », которые находятся в DIV, с классом« обезьяна », а затем добавить тег H2 с« Цитатой обезьян »внутри.

Еще один пример того, что я пытаюсь найти решение, - это найти все слова в тегах Paragraph и обернуть вокруг них тег SPAN (для поэтапного выделения звука). Такие вещи.

Есть ли там инструмент или язык, который предназначен для такого рода вещь?

+0

В вашем «обертывании примера« «вокруг каждого слова» вам будет лучше делать это динамически в JavaScript. Держите свою разметку чистой. – Ryan

+0

Никто не предлагал JavaScript? –

+3

Да, это называется парсером HTML/XML. Их много, в зависимости от языка/платформы, которую вы используете. Поиск SO для 'LanguageX HTML parser', например http://stackoverflow.com/questions/3577641/how-to-parse-and-process-html-with-php – Qtax

ответ

3

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

Если да, ответил довольно хорошо здесь:

Grep and Sed Equivalent for XML Command Line Processing

+0

Выглядит полезно. Из него вы также можете использовать XSLT и XPATH. Спасибо. – Arktype

3

Если у вас есть хорошо сформированный документ, XSLT и XPATH может делать то, что вам нужно.