通过如下代码获取到网页的内容$conn=file_get_contents("http://ygtc.tmall.com");然后将里面的所有带有http://的网址通过foo()函数处理后,放回原处,最后输出网页
foo()函数如下function foo($url)}
//$url为传入的网址
return md5($url);//这里只是简单写了下函数的处理方式,实际上处理方式不是这么简单,只是作为事例;
}
foo()函数如下function foo($url)}
//$url为传入的网址
return md5($url);//这里只是简单写了下函数的处理方式,实际上处理方式不是这么简单,只是作为事例;
}
$str="http://ygtc.tmall.comlfdkaslfjaldsfakldfladsfladshttp://ygtc.tmall.net,http://ygtc.tmall.com.cn";
preg_match_all("/http:\/\/(.+)\.(.+)\.(com\.cn|net\.cn|com|net)/U",$str,$arr);
print_r($arr);
?>
不知道是不是你说的要求,注意这里的com\.cn|net\.cn|com|net com.cn这样结尾的要放到com之前,不然就直接匹配com的了,希望高手能帮忙修正这个问题
代码如何写呢 只提取href的""内的内容且不包含.css字符串
echo preg_replace_callback('/(<a.+?href=")([^\s"]+)/is', 'foo', $conn);function foo($url) {
return $url[1] . md5($url[2]);//这里只是简单写了下函数的处理方式,实际上处理方式不是这么简单,只是作为事例;
}
如果这个网址里有view_page 这个字符串 便不提取,正则该如何改呢
如果这个网址里有view_page 这个字符串 便不提取或者 只提取包含view_page 这个字符串的网址,正则该如何改呢
echo preg_replace_callback('/(<a.+?href=")([^\s"]+)/is', 'foo', $conn);
function foo($url) {
return $url[1] . md5($url[2]);//这里只是简单写了下函数的处理方式,实际上处理方式不是这么简单,只是作为事例;
}