perl one liner -адд HTML-теги вокруг соответствующего HTML-элемента - PullRequest
0 голосов
/ 03 ноября 2019

Я использую MS word для создания (веб-страницы, отфильтрованного) HTML и имею кодовый стиль, который я хочу обернуть с <code>content, чтобы иметь предварительно форматированный текст (включая табуляции и пробелы), чтобы посетители могли копировать и вставлятькод с моего сайта.

Я знаю о предостережениях / опасностях использования регулярных выражений в html / xml, но это не проблема, поскольку я контролирую контент.

Ввод html выглядит следующим образом:

<table class=Code1 PLAIN_MULTILINE_TEXT_AND_FORMATTING</table>

Выходной html должен выглядеть следующим образом:

<code><pre><code>
<table class=Code1 PLAIN_MULTILINE_TEXT_AND_FORMATTING</table>

вот мой однострочный текст в bash-скрипте, $ 1 - это имя файла:

<code>perl -pi -e 's|<table class=Code1 (.*?)</table>|<pre><code><table class=Code1 $1</table>
| sg '$ 1

, который не имеет никакого эффекта. Похоже, не совпадают.

Вопросы:

1 - Что не так?

2 - Нужен ли мне / s (многострочный) модификатор

3 -Есть ли лучший способ (в конечном итоге, добавить это в сценарий предварительного кэширования / рендеринга вместе с существующим автоматическим созданием оглавления и автоматически создаваемыми определениями)?

site: www.rossco.org

Спасибо;Билл

Ответы [ 2 ]

0 голосов
/ 03 ноября 2019

Почему бы не сделать код немного более читабельным? И, может быть, неплохо иметь резервную копию исходного файла

<code>perl -pi 'orig_*' -0777  -e 's|(<table class=Code1 .*?</table>)|<pre><code>$1
| sg 'имя файла
0 голосов
/ 03 ноября 2019

Добавьте это к своим флагам командной строки Perl, чтобы прочитать весь файл вместо строки за строкой: -0777

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