выборочный поиск и замена текстовой строки во многих HTML-документах - PullRequest
1 голос
/ 23 марта 2011

У меня есть много html-документов, которые требуют выборочной замены тега <br /> в двух определенных областях в каждом документе (400+).Интересно, как достичь этой цели и нужна помощь.

В каждом HTML-документе тег <br /> необходимо заменять только внутри html-тега:
<span property="dc:description" content="xyz1,<br /> xyz2,<br /> xyz3"/>
, а такжевсе вхождения <br /> внутри тега alt=", как в html-теге
<img src="xyz.jpg" alt="uvw1,<br />uvw2" />)

Во всех других областях HTML-документов тег <br /> должен оставатьсябез изменений.

... Я еще об этом подумал и думаю, что описанная выше проблема может быть решена с помощью сценария или функции, снабженной сигналами запуска и остановки.Таким образом, скрипт знает, с каких позиций начинать поиск тега <br /> и заменяет его заданной текстовой строкой, И также знает, где остановиться.Затем перейдите к следующему экземпляру в документах, которые открыты в редакторе или находятся в данной папке.

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

ОС: Win7-64, редактор: Notepad ++

1 Ответ

0 голосов
/ 23 марта 2011

Если ваши HTML-файлы не очень большие, я не думаю, что вам нужен скрипт для этого.

Вы можете просто:

  1. Объедините файлы вместе.
  2. Используйте замену регулярных выражений в Notepad ++. Для этого вам нужно заменить <span([^/]*)<br />(.*)"/> на <span\1NEWTAG\2"/>, где NEWTAG - это то, на что вы хотите заменить <br />. Обратите внимание, что это заменит только первый <br />, который он находит каждый раз, поэтому вам придется делать это несколько раз, пока он не найдет больше. Поэтому, если вы заменяете текстом, который содержит <br /> сам (что я сомневаюсь по звукам), вам нужно немного изменить это.
  3. Разбить файл обратно на оригиналы.

Лично я бы просто написал скрипт на Python, так как он довольно умный в манипулировании строками. Но я не знаю, входит ли это в ваши возможности.

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