php
正規表現
データをキャプチャ
-----解決策---------$s=file_get_contents('http://xcb.nuist.edu.cn/e/wap/list.php?classid=6&style=0&bclassid=1');<br />
preg_match_all('/<li><a\s+href="(.+)"[^>]*>(.+)<span>(.+)<\/span><\/a><\/li>/isU',$s,$m);<br />
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))
0 を返す;
$strLinkAllTem = "";
for($i = 0; $i
count($arr2A_mat[0]); $i )
{
$strLinkTem = $arr2A_mat[2][$i];
if(strlen($strLinkTem)
続行;
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."rn";
$strLinkAllTem = $strLinkAllTem.$arr2A_mat[2][$i]."rn";
}
}
// $strLinkAllTem = $strLinkAllTem.$arr2A_mat[2][$i]."rn";
}
$strText を返します;
}
func_globalscanlink("http://www.baidu.com/", $arrAhef, $arrLink, $arrTitle, $strLinkAll); //ioooo
この機能はすべてのリンクとタイトルをスキャンできます