$data = '<td > <a class="bl2" href=/102.html" > <b >分类一 </b > </a > <td > <a class="bl2" href=/105.html" > <b >分类二 </b > </a > <td > <a class="bl2" href=/108.html" > <b >分类三 </b > </a > 
';// 先获取html原文件
preg_match_all("/\<td\s*\>\s*\<a\sclass\=\"bl2\"\s*href\=\/\d+\.html\"\s*\>\s*\<b\s*\>(.*?)\<\/\>/is",$data,$match);print_r($match[0]);  为什么要敲<td\s*\>\s*\<a\sclass 这么一大堆呢,目的是精确匹配,防止有其他相同htm标签,