自动格式化 HTML 文本

自动格式化 HTML 文本

我有一个网站的页面源代码,但我需要的链接都挤在一起了。如果所有链接都以 href 开头,我该如何将每个链接分开(每行一个链接)?

答案1

有几种方法可以做到这一点。例如,您可以编写一个小程序或脚本来完成这项工作,或者使用能够格式化 HTML 的文本编辑器,或者可以使用以下方法进行搜索/替换的文本编辑器常用表达我将向你展示最后两个选项,使用j编辑sudo apt-get install jedit),尽管您还可以使用许多其他编辑器。

自动格式化 HTML 文本

您需要 jEdit 的“Beauty”或“XML”插件之一。在 jEdit 中,转到“插件”->“插件管理器...”,选项卡“安装”,选中“Beauty”或/和“XML”,单击按钮“安装”。如果您现在转到“管理”选项卡,插件应该会列在那里。

要使用 Beauty,您需要确保已选择 html 格式化程序。转到“插件”->“插件选项...”。在左侧树中,打开“插件”/“Beauty”/“模式”。在右侧列表中,为模式 html 选择 Beautifier html:beauty。
jEdit - 美容插件配置
单击“确定”。现在打开您的文件并检查编辑模式是否为 html(状态栏,左下角)
在此处输入图片描述
通过转到“插件”-> [首字母缩写] ->“Beauty”->“Beautify Buffer”运行插件。

或者,要使用 XML,只需转到“插件”-> [首字母] -> “XML”-> “缩进 XML”。

使用正则表达式搜索/替换

在 jEdit 中加载您的文件,按Ctrl+F打开“搜索和替换”对话框并更改选项,使其看起来像这样:

jEdit 搜索和替换

即:搜索:(<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>

相关内容