當前位置:首頁 » 編程語言 » php正則網頁內容

php正則網頁內容

發布時間: 2022-08-08 23:16:41

❶ 關於php正則提取網頁信息

用 int preg_match( string pattern, string subject [, array matches ] ) 來處理,實現過程我就不寫了,沒有驗環境,下面說下思路。

用$str讀入採集結果,preg_match_all("/<[^>]+.+>/", $str,$split_word)分割採集結果,得到數組$split_word,結果應該是這樣子的:
$split_word[0]="<li><table><tr>"
$split_word[1]=" <td width="574"><a href="detailnew.jsp?id=803088">駐村幹部</a></td>"
……
然後逐個對數組元素進行查找,首先循環查找條件1 id號:
preg_match("/id=\d+/i",$split_word[n],$id_value)
匹配的結果是數組$id_value,類似$id_value[0]="id=xxxxx",如果你要提取純數字,還要再對這個結果提取一次。
其餘欄位提取仿照上面操作,對應的正則表達式:
鏈接標題先提取/<a[^>]+>\w+<\/a>/i, 然後再從結果中提取< /[x80-xff>]{4,}/i (即匹配四個漢字以上,漢字GBK/GB2312編碼是:[x80-xff>],UTF-8編碼:[x{4e00}-x{9fa5}]+/u,這一點要注意)

……

思路就是這樣,比較煩人,沒有下一子能就匹配所有信息的正則表達式。

❷ php 正則獲取網站內容

我寫好了,用Dreamweaver調試過,可以匹配。

先用下面正則提取需要的代碼段:

DrawResult.+?>(d{1,2})</td>.+?>(d{1,2})</td>.+?>(d{1,2})</td>.+?>(d{1,2})</td>.+?>(d{1,2})</td>.+?>(d{1,2})</td>

再用正則替換,把該內容中除了數字以外的代碼去除:

替換成$1,$2,$3,$4,$5,$6 即可得到 4,7,8,33,36,43

❸ php 正則表達式 匹配網站內容

<div class="nav" monkey="nav">和<div class="head-ad">之間的所有源碼,用 preg_match 就可以,不用preg_match_all ,如果你要裡面的所有的 <li></li>標簽中的內容,可以用preg_match_all

//提取所有代碼

$pattern = '/<div class="nav" monkey="nav">(.+?)<div class="head-ad">/is';

preg_match($pattern, $string, $match);

//$match[0] 即為<div class="nav" monkey="nav">和<div class="head-ad">之間的所有源碼

echo $match[0];

  • //然後再提取<li></li>之間的內容

$pattern = '/<li.*?>(.+?)</li>/is';

preg_match_all($pattern, $match[0], $results);

$new_arr=array_unique($results[0]);

foreach($new_arr as $kkk){

echo $kkk;

}

❹ PHP如何正則表達式提取網頁內容

如果你要<div class="nav" monkey="nav">和<div class="head-ad">之間的所有源碼,用 preg_match 就可以,不用preg_match_all ,如果你要裡面的所有的 <li></li>標簽中的內容,可以用preg_match_all

//提取所有代碼
$pattern = '/<div class="nav" monkey="nav">(.+?)<div class="head-ad">/is';
preg_match($pattern, $string, $match);
//$match[0] 即為<div class="nav" monkey="nav">和<div class="head-ad">之間的所有源碼
echo $match[0];

//然後再提取<li></li>之間的內容
$pattern = '/<li.*?>(.+?)<\/li>/is';

preg_match_all($pattern, $match[0], $results);
$new_arr=array_unique($results[0]);

foreach($new_arr as $kkk){
echo $kkk;

}

❺ php中正則 匹配網頁中的內容!

一個專門查詢 板塊標題的信息SQL語句
一個查詢該板塊下詳細信息的 SQL語句
把結果輸出即可
使用PHP中自帶的HTML格式輸出
祝你成功

❻ PHP正則表達網頁內容的問題

試試這個。
$test = '<span class="title">ABCDEFG(123456)</span>';
$pattern = '/\((.*)\)<\/span>/';
preg_match_all($pattern,$test,$out);
print_r($out[1][0]);

❼ 關於php正則提取一個網頁的某一大段內容。 比如某個div標簽中的所有內容,包括這個div內的所有符號

正則會比較麻煩吧,可以使用 simple_html_dom.php 解析HTML,很容易定位到要取的內容。

❽ php 用正則表達式提取網頁內容

java">$str='<liclass="blackArea"data-sourcelatest-elem="item"data-tvid="694641300"data-vid=""data-idx="4"data-sourcelatest-month=""data-delegate="videoPlayList">

<pclass="video_positionvideo_rb"><spanclass="v_name"rseat="xj_ty3">第2017-06-08期</span></p>

<h3><atitle="微體兔新版饞嘴小面"href="javascript:void(0);"rseat="xj_vn3">微體兔新版饞嘴小面</a></h3>

</li>';
$pattern="/[sS]*<li[^>]+data-tvid[="']+([^"']*)["'][^>]*data-vid[="']+([^"']*)["'][sS]*/i";
$tvid=preg_replace($pattern,"$1",$str);
$vid=preg_replace($pattern,"$2",$str);
$reg="/[sS]*<p[^>]*>((?:(?!</p>)[sS])*)</p>[sS]*/i";
$p=preg_replace($reg,"$1",$str);
$reg="/[sS]*<h3[^>]*>((?:(?!</h3>)[sS])*)</h3>[sS]*/i";
$h3=preg_replace($reg,"$1",$str);
echo$tvid." ".$vid." ".$p." ".$h3;

❾ php正則表達式怎麼抓取網頁數據

會用正則就會抓取。
不會正則,一時半會也教不錯。
不過,推薦你使用phpQuery這個框架,用jQuery的使用器來抓取數據。

❿ php正則匹配網站內容

$_SERVER["QUERY_STRING"];獲取到參數
然後用explode()函數分隔『/』
得到參數。然後就是對應的查詢判斷了

熱點內容
i西安編程 發布:2024-04-25 16:55:35 瀏覽:262
核磁看壓縮 發布:2024-04-25 16:37:22 瀏覽:431
訪問不上光貓 發布:2024-04-25 16:13:44 瀏覽:319
部隊電腦配置有哪些 發布:2024-04-25 16:13:43 瀏覽:970
霍曼密碼鎖什麼價位 發布:2024-04-25 16:08:01 瀏覽:750
ftp雙機熱備 發布:2024-04-25 16:03:48 瀏覽:360
我的世界伺服器限制模組 發布:2024-04-25 15:55:32 瀏覽:888
平板電腦能連接雲伺服器嗎 發布:2024-04-25 15:54:05 瀏覽:937
多看怎麼上傳雲 發布:2024-04-25 15:45:31 瀏覽:39
山東ftp 發布:2024-04-25 15:44:46 瀏覽:261