我有一个网站的页面源代码,但我需要的链接都挤在一起了。如果所有链接都以 href 开头,我该如何将每个链接分开(每行一个链接)?
答案1
有几种方法可以做到这一点。例如,您可以编写一个小程序或脚本来完成这项工作,或者使用能够格式化 HTML 的文本编辑器,或者可以使用以下方法进行搜索/替换的文本编辑器常用表达我将向你展示最后两个选项,使用j编辑(sudo apt-get install jedit
),尽管您还可以使用许多其他编辑器。
自动格式化 HTML 文本
您需要 jEdit 的“Beauty”或“XML”插件之一。在 jEdit 中,转到“插件”->“插件管理器...”,选项卡“安装”,选中“Beauty”或/和“XML”,单击按钮“安装”。如果您现在转到“管理”选项卡,插件应该会列在那里。
要使用 Beauty,您需要确保已选择 html 格式化程序。转到“插件”->“插件选项...”。在左侧树中,打开“插件”/“Beauty”/“模式”。在右侧列表中,为模式 html 选择 Beautifier html:beauty。
单击“确定”。现在打开您的文件并检查编辑模式是否为 html(状态栏,左下角)
通过转到“插件”-> [首字母缩写] ->“Beauty”->“Beautify Buffer”运行插件。
或者,要使用 XML,只需转到“插件”-> [首字母] -> “XML”-> “缩进 XML”。
使用正则表达式搜索/替换
在 jEdit 中加载您的文件,按Ctrl+F打开“搜索和替换”对话框并更改选项,使其看起来像这样:
即:搜索:(<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>