比如说http://xcb.nuist.edu.cn/e/wap/list.php?classid=6&style=0&bclassid=1
页面上的新闻标题+时间+超链接
小弟不胜感激,希望直接可以用,网上的我有点用不了,本人没有php基础,还望理解
如果有朋友使用正则表达式来做的话,
].+>(.+)(.+)
这个希望能有点帮助
php 正则表达式 抓取数据
------解决方案--------------------
$s=file_get_contents('http://xcb.nuist.edu.cn/e/wap/list.php?classid=6&style=0&bclassid=1');
preg_match_all('/]*>(.+)(.+)/isu',$s,$m);
print_r($m);
------解决方案--------------------
function func_globalscanlink($strurl, &$arrahef, &$arrlink, &$arrtitle, &$strlinkall)
{
$strtext = func_toutf8(func_readpage($strurl));
$strtext = func_webfillup($strurl, $strtext);
if(!preg_match_all(/(]*href[ ]*=[ ]*\([^]*?)\[^]*>(.*?))/si, $strtext, $arr2a_mat))
return 0;
$strlinkalltem = ;
for($i = 0; $i {
$strlinktem = $arr2a_mat[2][$i];
if(strlen($strlinktem) continue;
if(!strpos( .$strlinkalltem, $strlinktem) && strpos( .$strlinktem, http://))
{
$strtitletem = $arr2a_mat[3][$i];
$strtitletem = preg_replace(//si, , $strtitletem);
if(strlen($strtitletem) > 6)
{
$arrahef[count($arrahef)] = $arr2a_mat[1][$i];
$arrlink[count($arrlink)] = $strlinktem;
$strtitle = $arr2a_mat[3][$i];
if(preg_match(/title=\(.*?)\/si, $strtitle, $arrtitle_mat))
$strtitle = $arrtitle_mat[1];
$arrtitle[count($arrtitle)] = $strtitle;
$strlinkall = $strlinkall.$strlinktem.\r\n;
$strlinkalltem = $strlinkalltem.$arr2a_mat[2][$i].\r\n;
}
}
// $strlinkalltem = $strlinkalltem.$arr2a_mat[2][$i].\r\n;
}
return $strtext;
}
func_globalscanlink(http://www.baidu.com/, $arrahef, $arrlink, $arrtitle, $strlinkall); //ioooo
这个函数可以把所有链接和标题都扫出来
