加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

清除超链接,但保留文字

发布时间:2021-07-06 06:11:10 所属栏目:大数据 来源: https://www.jb51.cc
导读:用到的函数有 preg_match_all($pattern,$content,$match); preg_replace($pattern,$replacement,$limit,$count) 思路: (1)提取超链接部分。 (2)将超链接部分用不不带超链接的文字部分替换。 难点:正则表达式 匹配超链接的正则表达式 $pattern = '/a.*?

用到的函数有

preg_match_all($pattern,$content,$match);

preg_replace($pattern,$replacement,$limit,$count)

思路:

(1)提取超链接部分。

(2)将超链接部分用不不带超链接的文字部分替换。

难点:正则表达式

匹配超链接的正则表达式

$pattern = '/<a.*?href=".*?".*?>(.*?)</a>/';

或者

$pattern = '/<a[^>]*>([^<]*)</a>/';

上面两种正则表达式都不能匹配一些网页中的全部超链接,原因是什么,我没有分析,不知道。

代码如下:

 1 <?PHP
 2 /*
 3     preg_relace()
 4     清除网页中的超链接,但是保留文字,思路:找出所有的超链接;将超链接用无超链接的文字代替
 5 */
 6 $content = file_get_contents('http://www.hao123.com');
 7 
 8 $result = strip_link($content 9 echo $result;
10 function strip_link($content)    //清除文本中的超链接
11 {
12     13     $pattern = '/<a.*?href=".*?".*?>(.*?)</a>/';
14     15     $pattern = '/<a([^>]*)>([^<]*)</a>/'16     preg_match_all($pattern,$content,1)">$match17     $result = 18     foreach( $match[2] as $value )
19     {
20         $result = preg_replace($value,1)">$result,121     }
22     return 23 }

?

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读