php获取字符串中所有a标签链接

文章描述:

php获取一个字符串中所有a标签链接地址,并且使用base64加密这些链接地址

字符串

$content = '<span><a href="a.php?url=http://www.baidu.com" rel="nofollow" target="_blank"></a></span><span><a href="a.php?url=http://www.qq.com" rel="nofollow" target="_blank"></a></span>';

这里主要使用到preg_match_all函数,该函数具体使用方法如下:

preg_match_all("/http:[\/]{2}[a-z]+[.]{1}[a-z\d\-]+[.]{1}[a-z\d]*[\/]*[A-Za-z\d]*[\/]*[A-Za-z\d]*/",$content,$array2);

 

preg_match_all — 进行全局正则表达式匹配

base64加密

// base64加密
function base64($array,$content){

    foreach($array as $key=>$val){
        // 替换
        $content = str_replace($val,base64_encode($val),$content);

    }
    return $content;
}

使用方法

$array = $array2[0];

$contentx = base64($array,$content);

print_r($contentx);

 

多条件使用,例如:http和https

$regex = "/https:[\/]{2}[a-z]+[.]{1}[a-z\d\-]+[.]{1}[a-z\d]*[\/]*[A-Za-z\d]*[\/]*[A-Za-z\d]*|http:[\/]{2}[a-z]+[.]{1}[a-z\d\-]+[.]{1}[a-z\d]*[\/]*[A-Za-z\d]*[\/]*[A-Za-z\d]*/";

preg_match_all($regex,$content,$array1);

 

发布时间:2023/04/14

发表评论