一:获取a标签中的href链接与内容
$regex = '#href="([^"]+)"[^>]*>\s*([^<]+)</a>#is';preg_match_all($regex,$body,$matches);
二:判断关键词是否存在a或img中
<?phpfunction 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;