Preg match all

preg_match_all('~<h3>(.*?)<br/>(.*?)</h3>~is',$source0,$matches);
$matches[0] 为第一个(.?)匹配到的内容,包括(.?)以外的内容 $matches[0][0] 为第一个(.*?)匹配到的第一处内容

$matches[1] 为第一个(.?)匹配到的内容,不包括(.?)以外的内容 $matches[1][0] 为第一个(.*?)匹配到的第一处内容

e.g:

<?php
 $a="<a href='' >test1</a><a href='' >test2</a><br/>";
 preg_match_all('~>(.*?)</(.*?)><~is',$a,$matches);
 ?>

array ( [0] => >test1< [1] => >test2< ) //$matches[0]
>test1<                                 //$matches[0][0]
>test2<                                 //$matches[0][1]
array ( [0] => test1 [1] => test2 )     //$matches[1]
test1                                   //$matches[1][0]     
test2                                   //$matches[1][1]
array ( [0] => a [1] => a )             //$matches[2]
a                                       //$matches[2][0]
a                                       //$matches[2][1]