preg_ベースmatch_all採集後のデータ処理の心得メモ(符号化変換と正則マッチング)
2264 ワード
1、curlを使用して局外採集を実現する
具体的には私の前のメモを参考にしてください://www.jb 51.net/article/46432.htm
2、コード変換まずソースコードを見て採集したウェブサイトで使用したコードを見つけ、mb_を通じてconvert_encoding関数はトランスコードされます.
使用方法:
3、改行やスペースなどの不定要素の障害をよりよく避けるためには、採取したソースコードの改行、スペース、タブをクリアする必要がある
4、正規表現マッチングによって必要なコードセグメントを探し出し、preg_を使用するmatch_allこのマッチングを実現
5、文字を取得した後、htmlタグを外すには、PHPが持つ関数strip_を使うtagsは便利に実現できる
具体的には私の前のメモを参考にしてください://www.jb 51.net/article/46432.htm
2、コード変換まずソースコードを見て採集したウェブサイトで使用したコードを見つけ、mb_を通じてconvert_encoding関数はトランスコードされます.
使用方法:
// $str
// GBK, utf-8
mb_convert_encoding($str, "UTF-8", "GBK");
// , auto , utf-8
mb_convert_encoding($str, "UTF-8", "auto");
3、改行やスペースなどの不定要素の障害をよりよく避けるためには、採取したソースコードの改行、スペース、タブをクリアする必要がある
// , str_replace
$contents = str_replace("\r
", '', $contents); //
$contents = str_replace("
", '', $contents); //
$contents = str_replace("\t", '', $contents); //
$contents = str_replace(" ", '', $contents); //
// ,
$contents = preg_replace("/([\r
|
|\t| ]+)/",'',$contents);
4、正規表現マッチングによって必要なコードセグメントを探し出し、preg_を使用するmatch_allこのマッチングを実現
:
int preg_match_all ( string pattern, string subject, array matches [, int flags] )
pattern
subject
matches
flags , :
PREG_PATTERN_ORDER; // ,$arr1[0] ,$arr1[1]
PREG_SET_ORDER; // ,$arr2[0][0] ,$arr2[0][1] ,
PREG_OFFSET_CAPTURE; // ,$arr3[0][0][0] ,$arr3[0][0][1] ( ), ,$arr2[1][0][0] ,$arr3[1][0][1] ( );
//
preg_match_all('/(.*?)/',$contents, $out, PREG_SET_ORDER);
$out
$out[0][0]
$out[0][1] (.*?)
// , n
$out[n-1][1]
// , m
$out[n-1][m]
5、文字を取得した後、htmlタグを外すには、PHPが持つ関数strip_を使うtagsは便利に実現できる
//
$result=strip_tags($out[0][1]);