使用htmldom解析器删除 href链接和标签

首先,我得到网页的 HTML,然后我删除通常出现在页面的左侧或右侧(不在页面正文中)的 href 链接。

首先,我得到网页的 HTML,然后我删除通常出现在页面的左侧或右侧(不在页面正文中)的 href 链接。

例子:

<a href='http://test.blogspot.com/2012/11/myblog.html'>London</a>

链接正在被删除,但不是它的标签,即“伦敦”。我如何删除 html 源代码中的完整行?我正在使用以下代码:

$string = strip_tags($html_source_code, '<a>', TRUE); 
function strip_tags($text, $tags = '', $invert = FALSE) {
      preg_match_all('/<(.+?)[\s]*\/?[\s]*>/si', trim($tags), $tags); 
      $tags = array_unique($tags[1]); 
      if(is_array($tags) AND count($tags) > 0) { 
        if($invert == FALSE) { 
          return preg_replace('@<(?!(?:'. implode('|', $tags) .')\b)(\w+)\b.*?>.*?</\1>@si', '', $text); 
        } 
        else { 
          return preg_replace('@<('. implode('|', $tags) .')\b.*?>.*?</\1>@si', '', $text); 
        } 
      } 
      elseif($invert == FALSE) { 
        return preg_replace('@<(\w+)\b.*?>.*?</\1>@si', '', $text); 
      } 
return $text; 
}
0

如果我使用你的代码,我得到一个致命的错误:不能重新声明 strip_tags()。

将名称函数更改为类似 my_strip_tags 的工作正常。

function my_strip_tags($text, $tags = '', $invert = FALSE) {
      preg_match_all('/<(.+?)[\s]*\/?[\s]*>/si', trim($tags), $tags); 
      $tags = array_unique($tags[1]); 
      if(is_array($tags) AND count($tags) > 0) { 
        if($invert == FALSE) { 
          return preg_replace('@<(?!(?:'. implode('|', $tags) .')\b)(\w+)\b.*?>.*?</\1>@si', '', $text); 
        } 
        else { 
          return preg_replace('@<('. implode('|', $tags) .')\b.*?>.*?</\1>@si', '', $text); 
        } 
      } 
      elseif($invert == FALSE) { 
        return preg_replace('@<(\w+)\b.*?>.*?</\1>@si', '', $text); 
      } 
return $text; 
}
$html_source_code = "Beginning of content ... <a href='http://test.blogspot.com/2012/11/myblog.html'>London</a> ... end of content.";
echo "<p>".$html_source_code."</p>";
$string = my_strip_tags($html_source_code, '<a>', TRUE);
echo "<p>".$string."</p>"; 

打印:

内容开头...London...内容结尾。

内容的开头……内容的结尾。

0
$link = "<a href='http://test.blogspot.com/2012/11/myblog.html'>London</a>";
function erraser($theLink, $checkTag){
    if(strpos($theLink, $checkTag) == true){
        for($i=0; $i< strlen($theLink); $i++){
        $link[$i] = '';
        return  $link[$i];
        }
       }else{
        return $theLink;
    }
}

现在,让我们看看这个:

所有你必须做的是给erraser()函数两个参数,然后链接的变量,以及任何文本来识别链接

如果您为 ex:echo erraser($link, 'href');执行此操作,它将删除链接,而return什么都没有。但是,如果您在echo erraser($link, '----');中给它----,则将给出链接london,这意味着它将检查它是否是链接并执行所需的功能

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(645)
HTML中id属性的有效值是什么
上一篇
如何在Twilio中“重置”用户的TOTP
下一篇

相关推荐

  • html网页设计知识点总结基本原理与实践

    示例示例HTML网页设计知识点总结:HTML标签:HTML标签用于定义网页中各个元素的结构和样式,常用标签有div、p、h1-h6、ul、ol、li、img、a等。…

    2023-01-13 13:55:36
    0 59 35
  • html弹出框代码:弹出框标题

    HTML弹出框代码是指使用HTML、CSS和JavaScript编写的代码,可以在网页上显示一个弹出框,用于显示消息或提示用户输入信息。下面是一个简单的HTML弹出框代码实例:…

    2023-01-23 02:09:59
    0 43 58
  • html5网页大作业:如何使用HTML5创建网页

    HTML5网页大作业是一种比较复杂的网页设计,它要求学生能够利用HTML5和CSS3来构建一个完整的网站。学生需要使用新的HTML5标签,包括、、、、、等,以及CSS3中的新特性,如媒体查询、圆角、阴影等,来完成网站的设计和布局。…

    2023-01-16 11:47:24
    0 86 72
  • html禁止查看源代码:禁止查看源代码

    HTML禁止查看源代码可以通过来实现,代码如下:…

    2023-01-19 06:38:00
    0 10 78
  • html如何改变网页字体颜色:标题

    可以使用css样式来改变网页字体颜色,代码如下:上面的代码将所有的p元素的字体颜色设置为红色。…

    2023-01-30 13:33:50
    0 77 16
  • html音频播放器代码播放你喜欢的音乐

    HTML音频播放器代码是使用HTML5中的标签来实现的,可以播放MP3、WAV等多种格式的音频文件。下面是一个简单的HTML音频播放器的代码示例:…

    2023-01-07 09:23:17
    0 73 76
  • html音乐自动播放代码HTML代码实现

    示例示例HTML音乐自动播放代码是用来实现网页上的音乐自动播放功能的,下面是一个简单的html音乐自动播放代码示例:…

    2023-01-04 14:11:51
    0 38 73
  • html全选按钮代码选择全部

    示例示例HTML全选按钮代码是用来创建一个复选框,它可以选中或取消所有其他复选框的选择。示例代码:…

    2023-01-28 02:12:30
    0 92 40

发表评论

登录 后才能评论

评论列表(25条)