ホームページ バックエンド開発 PHPチュートリアル preg_match_all に基づく収集後のデータ処理に関する注意事項 (エンコード変換と通常のマッチング)_PHP チュートリアル

preg_match_all に基づく収集後のデータ処理に関する注意事項 (エンコード変換と通常のマッチング)_PHP チュートリアル

Jul 13, 2016 am 10:39 AM
match 通常 トランスコーディング

1. オフサイトコレクションを実現するにはcurlを使用します

詳細については、私の最後のメモを参照してください: http://www.jb51.net/article/46432.htm

2. エンコーディングの変換
まず、ソース コードを表示して、収集された Web サイトで使用されているエンコーディングを見つけ、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. 改行やスペースなどの不確実な要素の障害をより適切に回避するには、まず収集されたソースコード内の改行、スペース、タブ文字を削除する必要があります

コードをコピーします コードは次のとおりです:
//方法 1、str_replace を使用して置き換えます
$contents = str_replace("rn", '', $contents) //改行をクリアします
$ content = str_replace ("n", '', $contents); //改行文字をクリア
$contents = str_replace("t", '', $contents); //タブ文字をクリア
$contents = str_replace(" " , ' ', $contents); //空白文字をクリアします

//方法 2、正規表現を使用して置き換えます
$contents = preg_replace("/([rn|n|t| ]+)/",'', $コンテンツ);

4. 正規表現マッチングを通じて取得する必要があるコードセグメントを見つけ、preg_match_all を使用してマッチングを実現します

コードをコピーします コードは次のとおりです:
関数の説明:
int preg_match_all ( string pattern, string subject, arraymatches [, int flags] )
patternは正規表現です
subjectはオリジナルです検索されるテキスト
matches は出力結果を保存するために使用される配列
flags は以下を含む保存されたパターン
PREG_PATTERN_ORDER; //配列全体は 2 次元配列であり、$arr1[0] は一致する文字列を含む配列です。境界で構成される $arr1[1 ] 境界を除く一致する文字列の配列
PREG_SET_ORDER //配列全体は 2 次元配列であり、$arr2[0][0] は境界を含む最初の一致する文字列です $arr2 [0] [1] は、境界を削除して形成された最初の一致文字列であり、以降の配列でも同様です
PREG_OFFSET_CAPTURE //配列全体は 3 次元配列 $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]);

http://www.bkjia.com/PHPjc/728086.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/728086.html技術記事 1.curl を使用してオフサイト コレクションを実装する方法の詳細については、以前のメモを参照してください: http://www.jb51.net/article/46432.htm 2. エンコード変換については、まず、収集されたコレクションで使用されているコードを見つけます。ソースコードを表示してウェブサイトを参照してください。.
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

パソコンで下線を入力する方法 パソコンで下線を入力する方法 Feb 19, 2024 pm 08:36 PM

コンピューターで下線を引く方法 コンピューターでテキストを入力するとき、特定の内容を強調表示したりマークしたりするために下線を使用する必要があることがよくあります。ただし、コンピューターの入力方法にあまり慣れていない人にとって、下線の入力は少し混乱する可能性があります。この記事では、パソコンで下線を引く方法を紹介します。コンピュータのオペレーティング システムやソフトウェアが異なると、アンダースコアの入力方法が若干異なる場合があります。以下に、Windows オペレーティング システムと Mac オペレーティング システムのそれぞれで一般的な方法を紹介します。まずはWindowsでの操作を見てみましょう

PHP正規表現で何かで始まる文字列を置換する方法 PHP正規表現で何かで始まる文字列を置換する方法 Mar 24, 2023 pm 02:57 PM

PHP 正規表現は、テキストの処理と変換のための強力なツールです。テキスト コンテンツを解析し、特定のパターンに従って置換またはインターセプトすることで、テキスト情報を効果的に管理できます。その中でも、正規表現の一般的な応用例は、特定の文字で始まる文字列を置換することです。

Golang 正規表現を使用して複数の単語または文字列を照合するにはどうすればよいですか? Golang 正規表現を使用して複数の単語または文字列を照合するにはどうすればよいですか? May 31, 2024 am 10:32 AM

Golang の正規表現では、パイプ文字 | を使用して複数の単語または文字列を一致させ、各オプションを論理 OR 式として区切ります。例: 「fox」または「dog」に一致します: fox|dog は「quick」、「brown」または「lazy」に一致します: (quick|brown|lazy) 「Go」、「Python」または「Java」に一致します: Go| Python |Java は単語または 4 桁の郵便番号と一致します: ([a-zA

正規表現を使用してPHPで漢字を削除する方法 正規表現を使用してPHPで漢字を削除する方法 Mar 03, 2023 am 10:12 AM

正規表現を使用して PHP で中国語を削除する方法: 1. PHP サンプル ファイルを作成する; 2. 中国語と英語を含む文字列を定義する; 3. "preg_replace('/([\x80-\xff]*)/i', '',$a);" 通常の方法では、クエリ結果から中国語の文字を削除できます。

通常のマッチングを使用してphpでhtmlタグを削除する方法 通常のマッチングを使用してphpでhtmlタグを削除する方法 Mar 21, 2023 pm 05:17 PM

この記事では、PHP 正規表現を使用して HTML タグを削除し、HTML 文字列からプレーン テキスト コンテンツを抽出する方法を学びます。 HTML タグを削除する方法を示すために、まず HTML タグを含む文字列を定義しましょう。

golang エンコード変換の実装メカニズムを調べる golang エンコード変換の実装メカニズムを調べる Feb 19, 2024 pm 03:21 PM

Golang は強力なプログラミング言語として、高いパフォーマンスと同時実行機能を備え、エンコーディング変換のサポートなど、豊富な標準ライブラリのサポートも提供します。この記事では、Golang でのエンコード変換の実装原則を深く調査し、具体的なコード例を使用して分析します。トランスコーディングとは何ですか?エンコーディング変換とは、一連の文字をあるエンコーディングから別のエンコーディングに変換するプロセスを指します。実際の開発では、UTF-8 でエンコードされた文字列の変換など、異なるエンコード間の変換を処理する必要があることがよくあります。

dedecmsエンコード変換関数を学ぶ簡単な方法 dedecmsエンコード変換関数を学ぶ簡単な方法 Mar 14, 2024 pm 02:09 PM

dedecms エンコード変換関数の学習は複雑ではなく、簡単なコード例を使用すると、このスキルをすぐに習得できます。 dedecms では、通常、システムの正常な動作とデータの正確性を確保するために、中国語の文字化けや特殊文字などの問題に対処するためにエンコード変換機能が使用されます。ここでは、エンコードに関するさまざまなニーズに簡単に対応できる dedecms のエンコード変換機能の使い方を詳しく紹介します。 1.UTF-8 から GBK UTF-8 でエンコードされた文字列を G に変換する必要がある場合、dedecms で

C++ 開発におけるエンコード変換の問題に対処する方法 C++ 開発におけるエンコード変換の問題に対処する方法 Aug 22, 2023 am 11:07 AM

C++ 開発におけるエンコード変換の問題に対処する方法: C++ 開発プロセスでは、異なるエンコード間の変換が必要な問題が頻繁に発生します。異なるエンコード形式には違いがあるため、エンコード変換を実行するときはいくつかの詳細に注意する必要があります。この記事では、C++ 開発におけるエンコード変換の問題の対処方法を紹介します。 1. さまざまなエンコード形式を理解する: エンコード変換の問題に対処する前に、まずさまざまなエンコード形式を理解する必要があります。一般的なエンコード形式には、ASCII、UTF-8、GBK などが含まれます。 ASCII は最も古いエンコード形式です

See all articles