我继承了几千个凌乱的HTML文件,它们使用重复的blockquote
标记来显示一首诗的行
示例:
<blockquote><blockquote>roses are red</blockquote></blockquote><br>
<blockquote><blockquote><blockquote>violets are blue</blockquote></blockquote></blockquote><br>
<blockquote><blockquote>this is another line</blockquote></blockquote><br>
<blockquote><blockquote><blockquote>and this is too</blockquote></blockquote></blockquote><br>
对于自由诗的行,您将看到多达7-8个块引号标记包装一行文本。我想用单个<p>
或<span>
标记替换嵌套的blockquote
标记集,并给它一个类,如“indent-7”或“indent-8”
blockquote
标记之间存在不可预测的空白。有些在它们之间有空格,有些被新行隔开。我认为Python的BeautifulSoup是处理此任务的方法
如何将嵌套的blockquote
标记替换为具有“n”类的单个标记,其中n是嵌套的标记数
您可以手动删除空白和新LINR。一旦消除了这一点,这将使工作更容易
假设这不是一个可以考虑的选项,你可以使用PHP做那个
现在,要替换块引号,您甚至可以使用记事本++查找/替换功能,您只需要找到一个模式。例如,对于当前代码,最多有两个或三个blockquotes。因此,在Notepad++中,您需要执行四个操作“查找/替换全部”
<blockquote><blockquote>
并替换为<p>
(或按您的意愿设置范围)</blockquote></blockquote>
并替换为</p>
(或按您的意愿进行扩展)<blockquote><blockquote><blockquote>
并替换为<p>
(或按您的意愿设置范围)</blockquote></blockquote></blockquote>
并替换为</p>
(或按您的意愿进行扩展)以下是我将如何使用lxml实现它:
(请注意,我在这首诗中添加了一行,以测试用空格分隔的标记。)
输出:
为了更好地衡量(也为了未来读者的利益),我将使用xquery这样做:
输出相同
相关问题 更多 >
编程相关推荐