我正在使用CGI修改从搜索引擎加载的html文件。在此文件中,存在<BR>
个标记。我只想删除某些<BR>
标签。
CGI的工作方式是将整个HTML文件放入一个数组中。然后,每一行都要单独处理,以完成各种任务,例如显示修改等。我的问题是我需要一种方法来在特定范围内定位
标记,但是该范围是不固定的,因为取决于所搜索的HTML文件它发出了。
到目前为止,我一直尝试遍历每一行。然后检查该行中是否有<BR>
或<br>
忽略了大小写。然后,如果存在,我将其删除。但是,这种方式会删除文件中每个<BR>
标记,这不是我想要的。
这是加载的html文件,我将使用一个示例进行单个搜索。
<b>Issue Date </b>Dec 1998<br>
<b>Replaces </b>TR-NWT-001042 Issue01<br>
<ul id="myNav"> <a href="#ORD">ORDERING INFORMATION</a><BR> <BR><B>ABSTRACT: </B>This document replaces TR-NWT-001042 and TR-NWT-001042-disk.<BR>
<BR>This document presents the view of Telcordia on generic requirements for the information model of the system management interface<BR>
between Management Systems and Synchronous Optical Network (SONET) Network Elements (NEs) using Open System Interconnection (OSI)<BR>
management services and protocols.<BR>
我要做的是在摘要之后:我想添加<P>
。当前正在发生的情况是,每行末尾都有一个<BR>
,我想删除此点之后每行末尾的所有<BR>
。
在CGI文件中起作用了,这是我用来删除文件中所有<BR>
的代码,我不确定如何只删除选定的金额
foreach $line(@input) {
# Put if statement, if line ends with break, remove break.
if ($line =~ m/<BR>$/i) {
$line = substr $line, 0, -5;
}
$ line上方的每一行都包含字符串格式的html,@ input是html内容的存储位置。
当前应该发生的是从搜索引擎呈现html的方式,在每行的末尾添加<BR>
。这不允许正确的文字换行。我想使用<P>
标签包裹文本,并删除每行末尾的<BR>
,迫使其转到下一行。