Heim >php教程 >php手册 >php不会正则的痛

php不会正则的痛

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-06 19:33:351275Durchsuche

不会正则下载暴漫好痛苦,唯一的正则是网上找的,最后还是用explode来处理了,小弟新人,求大牛改正。 无 ?php/** * 正则表达式匹配需要的图片 * @return ArrayIterator $arr */function pregIMG($str){//$str ='a href="/articles/7442969" target="_blank"i

不会正则下载暴漫好痛苦,唯一的正则是网上找的,最后还是用explode来处理了,小弟新人,求大牛改正。
<?php
/**
 * 正则表达式匹配需要的图片
 * @return ArrayIterator $arr
 */
function pregIMG($str){
	//$str ='<a href="/articles/7442969" target="_blank"><img src="/static/imghwm/default1.png"  data-src="http://www.68idc.cn/help/uploads/allimg/160322/2016161356-0.jpg"  class="lazy"  alt="没标题"   style="max-width:90%" /></a>';
	$pattern='/<img  src="/static/imghwm/default1.png"  data-src="http://www.68idc.cn/help/uploads/allimg/160322/2016162634-1.jpg"  class="lazy" .+src=\"(.+\.jpg)\"?.+ alt="php不会正则的痛" >/i';
	preg_match_all($pattern,$str,$matchs);
	return $matchs;
}
/**
 * 查找某个页面的jpg
 */
function getIMG($url,$dir){

	if (empty($url)) return false;
	$contents = file_get_contents($url);
	$data = pregIMG($contents);
	$jpgs = $data[1];
	
	unset($data);
	
	$data = array();
	foreach ($jpgs as $k => $v){
		$t = explode('/', $v);
		if ($t[3] == 'large'){
			$data[$k] = $v;
		}
	}

	if(!file_exists($dir) || !is_dir($dir)){
		mkdir($dir,0777);
	}
	$num = 1;
	foreach ($data as $v){
		copy($v, $dir.'/'.time(). rand(10,100).'.jpg');
		usleep(1);
		$num++;
	}
	return $num;
}
function getBaoZou($page=1){
	$url = "http://baozoumanhua.com/tucao/fresh/page/".$page."?sv=1395827058";
	$dir = "public";
	return getIMG($url, $dir);
}
function getMoreBaoZou($page){
	//下载前10页
	$num = 0;
	for ($i = 1;$i < $page; $i++){
		$num += getBaoZou($i);
	}
	echo '一共下载了'.$num.'张暴走漫画';
}
getMoreBaoZou(10);//获取前10页的暴走漫画
?>
php不会正则的痛
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:分页页码显示算法Nächster Artikel:php图片加水印类