регулярное выражение для копирования HTML-тега в другое место - PullRequest
1 голос
/ 27 декабря 2011

В html мне нужно скопировать текст, который находится в теге заголовка, в новую строку в виде тега h1 в определенном месте.

Пример:

<TITLE>any text here, including special characters like  .,:- or whataever</TITLE>

Выводчтобы оставить этот заголовок как as, а затем добавить строку под этим:

под этой строкой:

<font face="Arial"><span style="font-size: 14pt">

добавляет

<h1 align="center">any text here, including special characters like  .,:- or whataever</h1>

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

Заранее спасибо,

Ответы [ 2 ]

1 голос
/ 10 октября 2012

Поскольку этот вопрос все еще открыт, и у вас довольно плохой коэффициент приема, я постараюсь предложить вам решение:

Поиск:

   <TITLE>(.*)</TITLE>(.*?)<font face="Arial"><span style="font-size: 14pt">

И убедитесь, чточтобы проверить ". соответствует Новая строка" в окне поиска.Затем используйте следующее заменить:

   <TITLE>\1</TITLE>\2<font face="Arial"><span style="font-size: 14pt">\n<h1>\1</h2>

Работал в моем блокноте ++.

1 голос
/ 27 декабря 2011

Регулярное выражение, которое вам нужно использовать, должно быть таким:

/^<TITLE>(.*)<\/TITLE>/

Теперь я дам вам небольшой фрагмент Perl, который принимает строку, сопоставляется с приведенным выше регулярным выражением и выплевывает текст в тегах заголовка, заключенных в <h1> ... </h1>. Помните, что в регулярных выражениях круглые скобки используются для «группировки» совпадений - или в терминах непрофессионала, для хранения их для будущих ссылок. Сценарий:

$line = <STDIN>;
chomp $line;
$line =~ /^<TITLE>(.*)<\/TITLE>/;
print "<h1>"."$1"."</h1>";

Здесь весь текст между тегами TITLE сгруппирован и, следовательно, хранится в переменной $ 1.

Когда я делаю:

echo "<TITLE>lama</TITLE>" |script.pl

Я получаю:

<h1>lama</h1>

Надеюсь, это поможет.

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