php

位置:IT落伍者 >> php >> 浏览文章

php匹配字符中链接地址程序代码


发布日期:2020年08月17日
 
php匹配字符中链接地址程序代码

判断一个字符串是否含有超级链接

                        代码如下                                                   

$str="ssdsf<a target=_blank  >sdf</a>sdfss";
            if(preg_match("/<a/s+href=[^>]*>|<//[^a]*a[^>]*>/i"$str))
            {
            echo "该字符串有超链接";
            }
            else
            {
            echo "该字符串没有超链接标记";
            }
            ?>

                        


下面我们只要过滤连接部份

                        代码如下                                                   

<?php
            echo preg_replace("/(?<=href=)([^>]*)(?=>)/i""#" "<a >你好点这里看看</a><a >你好点这里看看</a>");
            ?>

                        

正则/(?<=href=)([^>]*)(?=>)/

(?<=exp) 匹配exp后面的位置
(?=exp) 匹配exp前面的位置
此正则 匹配 在 href= 之后 “>” 之前 的 非 “>” 的所有字符

例子<a >

找到这些字符(url)用 # 替换就可以去掉html里的所有链接

现在分享一个提取超级连接的实例

                        代码如下                                                   

function match_links($document) {

            

preg_match_all("<s*as*?hrefs*=s*(["])?(?()(*?)|([^s>]+))[^>]*>?(*?)</a>isx"$document$links);

            

while(list($key$val) = each($links[])) {

            

if(!empty($val))

            

$match[link][] = $val;

            

}

            

while(list($key$val) = each($links[])) {

            

if(!empty($val))

            

$match[link][] = $val;

            

}

            

while(list($key$val) = each($links[])) {

            

if(!empty($val))

            

$match[content][] = $val;

            

}

            

while(list($key$val) = each($links[])) {

            

if(!empty($val))

            

$match[all][] = $val;

            

}

            

return $match;

            

}

                                       

上一篇:使用php实现快钱支付功能

下一篇:通过table标签,PHP输出EXCEL的实现方法