使用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,这意味着它将检查它是否是链接并执行所需的功能

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

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

相关推荐

  • html查看程序什么意思了解 HTML 程序的意义

    HTML查看程序是一个可以帮助用户查看HTML文件的程序。它可以在浏览器中显示HTML文件,并可以查看其中的源代码。下面是一个使用HTML查看程序的示例:…

    2024-01-29 11:14:17
    0 81 47
  • html展示代码:这是一个标题

    HTML展示代码是指使用HTML语法来构建网页的代码。它包括标签,元素,属性和文本,以及其他元素,如图像,脚本和样式表,用于创建网页。…

    2023-05-11 04:57:09
    0 42 57
  • html自动换行的代码:自动换行的代码

    示例示例HTML自动换行的代码是:``。代码示例:…

    2024-01-07 15:56:23
    0 74 99
  • html5静态网页制作:如何使用HTML5制作静态网页

    HTML5静态网页制作是指使用HTML5语言来制作一个静态的网页,它不需要任何服务器端的技术,只要在浏览器上打开就可以看到网页内容。…

    2023-06-24 05:00:20
    0 18 78
  • html底部友情链接代码:友情链接

    示例示例HTML底部友情链接代码是指将网站的友情链接放在网页底部,以展示友情链接的 HTML 代码。友情链接代码示例:…

    2024-01-12 12:25:25
    0 72 16
  • html与css结合方式:这是一个标题

    示例示例HTML和CSS结合的方式是,使用HTML标记来定义文档的内容,然后使用CSS来定义文档的外观和样式。下面是一个使用HTML和CSS结合的示例代码:…

    2024-04-08 01:21:30
    0 99 78
  • php转html:标题

    PHP转HTML是指将PHP代码转换成HTML代码的过程。下面的代码可以将PHP转换成HTML:…

    2023-05-27 13:23:09
    0 61 38
  • html字体样式代码:This is a Title

    示例示例HTML字体样式代码用于控制文本的外观,如字体、大小、颜色等。下面是一个HTML字体样式代码示例:…

    2023-06-25 14:49:46
    0 93 89

发表评论

登录 后才能评论

评论列表(36条)