方法一
(href|src)s*=s*(?(?=["'])((["'])((http[s]?://)?s*w.(?!(jpg|gif|png))w*))|([^s>]+))
方法二
(class|style|href)s*=s*(?(?=["'])((["'])([^"']*))|([^s>]+))
这个是用来匹配不以 .jpg .gif .png 结尾的
(http[s]?://)?s*w.(?!(jpg|gif|png))w*
方法三
$str = 'http://www.111com.net/ http://mb.111com.net/a.jpg';
//$part = '|(http://[a-za-z0-9/?&.]*)|si';
$part2 = '|(http[s]?://)?s*w.(?!(jpg|gif|png))w*|si';
preg_match_all($part2,$str,$str);
var_dump($str);