繁体   English   中英

使用cgi从字符串中删除某些单词

[英]Removing certain words from strings using cgi

我正在使用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> ,强制它转到下一行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM