麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

PHP抓取網頁的所有超鏈接的代碼問題

2020-03-24 18:37:38
字體:
來源:轉載
供稿:網友
通用HTML標準超鏈接參數取得html' target='_blank'>正則表達式測試

因為最近要做一個類似專業搜索引擎的東西,需要抓取網頁的所有超鏈接。
大家幫忙測試一下子,下面的代碼是否可以針對所有的標準超鏈接。

測試代碼如下:
?php
//--------------------------------------------------------------------------
//Filename:Noname1.php
//Description:通用鏈接參數獲取正則表達式測試
//Requirement:PHP4(http://www.php.net)
//Copyright(C),HonestQiao,2005,AllRightsReserved.
//Author:HonestQiao([email protected])
//參數說明:
//$strSource:包含標準鏈接的HTML網頁
//$strResult:處理的結果
//附加說明:
//標準鏈接,使用 a /a 形勢包含的鏈接
//--------------------------------------------------------------------------
$strSource= HTML
ahref=1.htm t1 /a
ahref='2.htm' t2 /a
ahref= 3.htm t3 /a
ahref=4.htm >HTML;
preg_match_all('/ a.*?(?:|//t|//r|//n)?href=[/' ]?(.+?)[/' ]?(?:(?:|//t|//r|//n)+.*?)? (.+?) //a.*? /sim',$strSource,$strResult,PREG_PATTERN_ORDER);
for($i=0;$i count($strResult[1]);$i++)
{
printf( %dhref=(%s)title=(%s)/n ,$i,$strResult[1][$i],$strResult[2][$i]);
}
?

如果您的測試數據,符合標準鏈接,但是此處沒有被處理出來,請告訴我測試數據,以及你的測試環境。

謝謝。

也歡迎提供任何怪異的超鏈接,不過使用javascript來打開鏈接的除外。

[本帖最后由HonestQiao于2005-11-621:29編輯]


ydlhero 回復于:2005-11-06 17:44:26

版大很多我看不懂可否提供正則表達方法的一些資料
我知道手冊有點但那點點遠遠不夠^_^

HonestQiao 回復于:2005-11-06 18:37:41

http://www.pcre.org/

如果要深究,可以查看這里。

太深奧而其表達也太過于簡略,無法用通俗的語言去表達和解釋。

cloudchen 回復于:2005-11-06 20:27:41

匹配總是不能做到適應任何情況的,只要能適應一些常見的標記方法就OK了,否則不是一個正則能搞定的,瀏覽器在分析html標記時極其錯誤的寫法也就忽略

這個有個問題asdfhref= 1.htm 這也能獲取到不太合適把,這樣就不成獲取屬性了,得改改

HonestQiao 回復于:2005-11-06 21:18:40

引用:原帖由cloudchen于2005-11-620:27發表
匹配總是不能做到適應任何情況的,只要能適應一些常見的標記方法就OK了,否則不是一個正則能搞定的,瀏覽器在分析html標記時極其錯誤的寫法也就忽略

這個有個問題asdfhref= 1.htm 這也能獲取到不太合...



等一下子我在修改,嘿嘿。

[本帖最后由HonestQiao于2005-11-621:24編輯]

HonestQiao 回復于:2005-11-06 21:21:36

已經修正了,作為:

preg_match_all('/ a.*?(?:|//t|//r|//n)?href=[/' ]?(.+?)[/' ]?(?:(?:|//t|//r|//n)+.*?)? (.+?) //a.*? /sim',$strSource,$strResult,PREG_PATTERN_ORDER);


[本帖最后由HonestQiao于2005-11-621:29編輯]

litie123 回復于:2005-11-06 21:57:02

ahref= so.php?id gfgfd 這個有問題 /a

笨狗 回復于:2005-11-07 08:23:00

如果不是一定要用php的話
偶推薦用perl的HTML::TokeParser
很好用D

HonestQiao 回復于:2005-11-07 08:44:23

引用:原帖由笨狗于2005-11-708:23發表
如果不是一定要用php的話
偶推薦用perl的HTML::TokeParser
很好用D


用perl很簡單,作這個。

不果現在用php.

HonestQiao 回復于:2005-11-07 08:45:31

引用:原帖由litie123于2005-11-621:57發表
ahref= so.php?id gfgfd 這個有問題 /a


啊,這也夠BT的啊。

langyufeng 回復于:2005-12-01 16:54:14

引用:原帖由HonestQiao于2005-11-708:45發表


啊,這也夠BT的啊。


先replace掉 就好拉

Haohappy 回復于:2005-12-01 21:43:44

供參考呵呵。

preg_match_all( ' /s*a/s.*?href/s*=/s*#find ahref=
([/ /'])?#findsingleordoublequote
(?(1)(.*?)//1|([^/s/ ]+))#ifquotefound,matchuptonextmatching
#quote,otherwisematchuptonextspace
'isx ,$document,$links);

giant35 回復于:2006-07-08 19:14:04

a.*?/s*href/s*=[/' ]?(.+?)[/' ].*? (.+?) /ahtml教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鲁丝片一区二区三区免费入口 | xxx日本视频 | 伊人99在线| 羞羞视频.www在线观看 | 久久久成人免费视频 | 99ri精品 | 爱性久久久久久久 | 91在线播放国产 | 国产亚洲高清视频 | 日本黄色免费观看视频 | 日本高清com | 国产亚洲精品综合一区91 | 国产啊v在线观看 | 一级免费特黄视频 | 国产一国产一级毛片视频在线 | 99精品在线免费 | 久久精品亚洲国产奇米99 | 九九热在线视频观看这里只有精品 | 亚洲va久久久噜噜噜久久男同 | 99久久电影 | 成人免费乱码大片a毛片视频网站 | 国产成人在线观看免费 | cosplay裸体福利写真 | 神马久久蜜桃 | 视频在线中文字幕 | 少妇一级淫片免费看 | 中文字幕在线观看日韩 | 午夜国产小视频 | 国产日韩一区二区三区在线观看 | 免费a视频 | www.91sese | 毛片久久 | 黄网站在线观 | 久久精品视频黄色 | 国产一级毛片高清视频完整版 | 国产精品成人一区二区三区电影毛片 | 久久99国产伦子精品免费 | 999久久国产 | 日本在线视频一区二区三区 | 久草视频免费 | 久久国产精品小视频 |