正则的各种读取方式

读取数字

$pattern = "/\d+/";

$strs="23345swwyuiopbfASWEDD4667";

preg_match_all($pattern,$strs,$arr);

$arr=implode($arr[0]);

print_r($arr);

读取图片

$pic="fsafasdf<img height='200' src='images/gg.gif' width='20' />werwer <IMG height='200' src='images/cc.gif' width='20' />";

//$pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]>/i";	

$pattern='/<img.*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/i';

preg_match_all($pattern,$pic,$imgList);

print_r($imgList);

 读取字符和数字

$pattern='/\w+/';

$strs="23345sw你好呀wyuiopbfASWEDD4667";

preg_match_all($pattern,$strs,$arr);

$arr=implode($arr[0]);

print_r($arr);

清除html

$strs="<a href='sd'>hello work</a> welcome <table><tr><td>good</td></tr></table>";

$html = preg_replace('/<[a-zA-Z]+[^>].*?>/i','',$strs);

$html = preg_replace("/<[\/][a-zA-Z ]+>/",'\1',$html);

  

  

用函数取图片

$str = '</head><body><IMG src="/afasd/sadfas11d/ok.jpg" alt="" /><IMG src="/afasd/sadfas22d/ok.jpg" alt="" /><img src="/afasd/sadf33asd/ok.jpg" alt=""></body></html>';

echo getImgUrl($str);







/**

 *  取出图片的URL

 *  getImgUrl

 *  $str 要查询的字符串

 *  $num 要取第几张图片的 URL

 *  @return String

* */

function getImgUrl($str,$num = 1)

{

	$reg = '/<img(.*?)src=(.*?)\/?>/i';

	preg_match_all($reg,$str,$imgList);



	if(!empty($imgList))

	{

		if(isset($imgList[0][$num-1]))

		{

			$img = $imgList[0][$num-1];

			preg_match('/src=(.*?)\.\w{3,4}/i',$img,$url);

			$rep = array('src="',"src='",'src=');

			if(!empty($url))

				return str_replace($rep,'',$url[0]);

			else

				return '';

		}

		else

			return '没有那么多图片';

	}

	else

		return '内容中没有图片';

}

获取图片

$text = 'adfsp<img src="abc.jpg">qwqwe<img src="img/ab333.jpg" height="40">werewr <img width="100" src="abc333.jpg">wer';

$matches1 = getImgUrl ( $text, 2 );

print_r ( $matches1 );



/**

 * 获取图片地址

 */

function getImgUrl($str, $num = 1) {

	$pattern = "/<img.*?src=[\'|\"](.*?)[\'|\"].*?\/?>/i";

	preg_match_all ( $pattern, $str, $matches );

	if (! empty ( $matches [1] [$num] )) {

		return $matches [1] [$num];

	} else {

		return false;

	}

}

 

 

  

  

你可能感兴趣的:(正则)