У меня есть источник страницы веб-сайта, но ссылки, которые мне нужны, объединены. Как мне отделить каждую ссылку, по одной ссылке на строку, если все они начинаются с href?
Есть несколько способов сделать это. Например, вы можете написать небольшую программу или скрипт для выполнения работы или использовать текстовый редактор, способный форматировать HTML, или редактор, который может выполнять поиск / замену с использованием регулярных выражений . Я покажу вам последние два варианта, используя jEdit (sudo apt-get install jedit
), хотя есть много других редакторов, которые вы можете использовать.
Вам потребуется один из плагинов «Beauty» или «XML» для jEdit. В jEdit перейдите в «Плагины» -> «Менеджер плагинов ...», вкладка «Установить», отметьте «Красота» или / и «XML», нажмите кнопку «Установить». Если вы сейчас перейдете на вкладку «Управление», плагин (ы) должны быть там перечислены.
Чтобы использовать Beauty, вам нужно убедиться, что выбран форматер html. Перейдите в «Плагины» -> «Параметры плагинов ...». В левом дереве откройте «Плагины» / «Красота» / «Режимы». В правом списке выберите Beautifier html: beauty для Mode html.
Нажмите OK. Теперь откройте ваш файл и убедитесь, что режим редактирования html (строка состояния, внизу слева)
Запустите плагин, выбрав «Плагины» -> [Инициалы ] -> «Красота» -> «Украсить буфер».
Или, чтобы использовать XML, просто перейдите в «Плагины» -> [инициалы] -> «XML» -> «Отступ XML».
Загрузите файл в jEdit, нажмите Ctrl kbd> + F kbd>, чтобы открыть диалоговое окно «Поиск и замена», и измените варианты так, чтобы это выглядело так:
То есть: Искать: (<a(?:\s+[^>]*)?>.*?</a>)
. Заменить на: \n$1\n
. Будьте внимательны при проверке «Регулярных выражений». Теперь нажмите «Заменить все» и все ссылки должны получить новую строку до и после. Если вы хотите новую строку только перед ссылкой, замените ее на \n$1
; если вы хотите только после, замените на $1\n
. Вот ссылка на регулярные выражения в jEdit.
Я проверил замену на:
<h1><a name="top"></a>Test</h1>
<div><a href="#top" title="link #1"><strong><em>first</em> link</strong></a><a href="page.html">page</a><!-- empty --><a href="l1.html"></a><abbr title="something">smt</abbr><p>more <a title="" href="#c3"> third </a> text</p></div>
, что привело к:
<h1>
<a name="top"></a>
Test</h1>
<div>
<a href="#top" title="link #1"><strong><em>first</em> link</strong></a>
<a href="page.html">page</a>
<!-- empty -->
<a href="l1.html"></a>
<abbr title="something">smt</abbr><p>more
<a title="" href="#c3"> third </a>
text</p></div>