'); $s = preg_replace('/]*>([^<]+)<\/th>/',"\\1",$s); $s = preg_replace('/]*>([^<]+)<\/td>/',"\\1",$s); $vTmp = preg_split('/(

[^<]+<\/h2>)/',$s,-1,PREG_SPLIT_DELIM_CAPTURE); $vModules = array(); for ($i=1;$i([^<]+)<\/h2>/',$vTmp[$i],$vMat)) { $vName = trim($vMat[1]); $vTmp2 = explode("\n",$vTmp[$i+1]); foreach ($vTmp2 AS $vOne) { $vPat = '([^<]+)<\/info>'; $vPat3 = "/$vPat\s*$vPat\s*$vPat/"; $vPat2 = "/$vPat\s*$vPat/"; if (preg_match($vPat3,$vOne,$vMat)) { // 3cols $vModules[$vName][trim($vMat[1])] = array(trim($vMat[2]),trim($vMat[3])); } elseif (preg_match($vPat2,$vOne,$vMat)) { // 2cols $vModules[$vName][trim($vMat[1])] = trim($vMat[2]); } } } } return $vModules; } ?>