php中a标签常⽤正则表达式
⼀:获取a标签中的href链接与内容
$regex='#href="([^"]+)"[^>]*>\s*([^<]+)</a>#is';
preg_match_all($regex,$body,$matches);
正则表达式获取括号内容⼆:判断关键词是否存在a或img中
<?php
function findword($word,$html){
$str_reg='(<a[^>]+>)(.*)('.$word.')(.*)(<\/a[^>]*>)';
$str_reg.='|(<img)(.*?)('.$word.')(.*?)(>)';
if(preg_match("/$str_reg/",$html)){
return true;
}else{
return false;
}
}
>
三:替换a标签中的href地址
// $newurl = preg_replace('#href=(.*)(www)#','href=${1}m', $newurl);
$newurl=preg_replace('#<a href=\"(.*)(www.)(.*)\">(.*)<\/a>#','<a href="${1}m.${3}">${4}</a>',$newurl);
return$newurl;
例:$replaceRes=preg_replace(’#<a href="[<>]*"([<>]*>$[^<>]+$)#’,’<a href="{1}.html"1.html"{2}’, $subject);
第⼀个参数: ‘#<a href="[<>]"([<>]>[^<>]+)#’: 匹配的正则, [^<>]表⽰除了<;或者>之外的字符串
第⼆个参数: ‘<a href="{1}.html"1.html"{2}’, 替换的值, ${1}表⽰第⼀括号匹配的内容, ${2}表⽰第⼆括号的内容, 具体可以根据⾃⼰需要更改
第三个参数: 要被替换的内容
/*
* $preg 匹配a标签路径正则
* $body 内容
* $match 返回的值
* */
$preg='/href=["\'][^>]*>/';
preg_match_all($preg,$body,$match);
var_dump($match);
die;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论