Heim Backend-Entwicklung PHP-Tutorial 基于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、编码转换
首先通过查看源代码找到采集的网站使用的编码,通过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\n", '', $contents); //清除换行符
$contents = str_replace("\n", '', $contents); //清除换行符
$contents = str_replace("\t", '', $contents); //清除制表符
$contents = str_replace(" ", '', $contents); //清除空格符

//方法二,使用正则表达式进行替换
$contents = preg_replace("/([\r\n|\n|\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]);

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/728086.htmlTechArticle1、使用curl实现站外采集 具体请参考我上一篇笔记:http://www.jb51.net/article/46432.htm 2、编码转换 首先通过查看源代码找到采集的网站使用的编...
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So geben Sie Unterstreichungen am Computer ein So geben Sie Unterstreichungen am Computer ein Feb 19, 2024 pm 08:36 PM

So unterstreichen Sie am Computer Bei der Texteingabe am Computer müssen wir häufig Unterstreichungen verwenden, um bestimmte Inhalte hervorzuheben oder zu markieren. Allerdings kann die Eingabe von Unterstrichen für manche Leute, die mit Computereingabemethoden nicht sehr vertraut sind, etwas verwirrend sein. In diesem Artikel erfahren Sie, wie Sie auf Ihrem Computer unterstreichen. In verschiedenen Computerbetriebssystemen und Softwareprogrammen kann die Eingabe des Unterstrichs leicht unterschiedlich sein. Im Folgenden werden die gängigen Methoden unter Windows-Betriebssystemen bzw. Mac-Betriebssystemen vorgestellt. Schauen wir uns zunächst die Bedienung unter Windows an

So ersetzen Sie eine Zeichenfolge, die mit „was' beginnt, durch einen regulären PHP-Ausdruck So ersetzen Sie eine Zeichenfolge, die mit „was' beginnt, durch einen regulären PHP-Ausdruck Mar 24, 2023 pm 02:57 PM

Reguläre PHP-Ausdrücke sind ein leistungsstarkes Werkzeug zur Textverarbeitung und -konvertierung. Es kann Textinformationen effektiv verwalten, indem es Textinhalte analysiert und sie gemäß bestimmten Mustern ersetzt oder abfängt. Eine häufige Anwendung regulärer Ausdrücke besteht darin, Zeichenfolgen zu ersetzen, die mit bestimmten Zeichen beginnen. Wir werden dies wie folgt erklären

Wie ordne ich mehrere Wörter oder Zeichenfolgen mithilfe des regulären Golang-Ausdrucks zu? Wie ordne ich mehrere Wörter oder Zeichenfolgen mithilfe des regulären Golang-Ausdrucks zu? May 31, 2024 am 10:32 AM

Reguläre Golang-Ausdrücke verwenden das Pipe-Zeichen |, um mehrere Wörter oder Zeichenfolgen abzugleichen, wobei jede Option als logischer ODER-Ausdruck getrennt wird. Zum Beispiel: Entspricht „fox“ oder „dog“: fox|dog entspricht „quick“, „brown“ oder „lazy“: (quick|brown|lazy) entspricht „Go“, „Python“ oder „Java“: Go| Python |Java sucht nach Wörtern oder 4-stelligen Postleitzahlen: ([a-zA

So verwenden Sie reguläre Ausdrücke, um chinesische Schriftzeichen in PHP zu entfernen So verwenden Sie reguläre Ausdrücke, um chinesische Schriftzeichen in PHP zu entfernen Mar 03, 2023 am 10:12 AM

So entfernen Sie Chinesisch mithilfe regulärer Regeln in PHP: 1. Erstellen Sie eine PHP-Beispieldatei. 2. Definieren Sie eine Zeichenfolge, die Chinesisch und Englisch enthält. 3. Verwenden Sie „preg_replace('/([\x80-\xff]*)/i', '',$a);“ Die reguläre Methode kann chinesische Zeichen aus den Abfrageergebnissen entfernen.

So verwenden Sie den regulären Abgleich, um HTML-Tags in PHP zu entfernen So verwenden Sie den regulären Abgleich, um HTML-Tags in PHP zu entfernen Mar 21, 2023 pm 05:17 PM

In diesem Artikel erfahren Sie, wie Sie mithilfe regulärer PHP-Ausdrücke HTML-Tags entfernen und Klartextinhalte aus HTML-Strings extrahieren. Um zu demonstrieren, wie man HTML-Tags entfernt, definieren wir zunächst eine Zeichenfolge, die HTML-Tags enthält.

Entdecken Sie den Implementierungsmechanismus der Golang-Codierungskonvertierung Entdecken Sie den Implementierungsmechanismus der Golang-Codierungskonvertierung Feb 19, 2024 pm 03:21 PM

Als leistungsstarke Programmiersprache verfügt Golang über hohe Leistungs- und Parallelitätsfähigkeiten und bietet außerdem umfangreiche Unterstützung für Standardbibliotheken, einschließlich Unterstützung für die Codierungskonvertierung. In diesem Artikel werden die Implementierungsprinzipien der Codierungskonvertierung in Golang eingehend untersucht und anhand spezifischer Codebeispiele analysiert. Was ist Transkodierung? Unter Kodierungskonvertierung versteht man den Prozess der Konvertierung einer Zeichenfolge von einer Kodierung in eine andere. In der tatsächlichen Entwicklung müssen wir häufig Konvertierungen zwischen verschiedenen Codierungen durchführen, z. B. die Konvertierung von UTF-8-codierten Zeichenfolgen.

Eine einfache Möglichkeit, die Codierungskonvertierungsfunktion von dedecms zu erlernen Eine einfache Möglichkeit, die Codierungskonvertierungsfunktion von dedecms zu erlernen Mar 14, 2024 pm 02:09 PM

Das Erlernen der Dedecms-Codierungskonvertierungsfunktion ist nicht kompliziert. Einfache Codebeispiele können Ihnen helfen, diese Fähigkeit schnell zu erlernen. In dedecms wird die Codierungskonvertierungsfunktion normalerweise verwendet, um Probleme wie verstümmelte chinesische Zeichen und Sonderzeichen zu lösen und den normalen Betrieb des Systems und die Genauigkeit der Daten sicherzustellen. Im Folgenden wird detailliert beschrieben, wie Sie die Codierungskonvertierungsfunktion von dedecms verwenden, damit Sie verschiedene Anforderungen im Zusammenhang mit der Codierung problemlos bewältigen können. 1.UTF-8 zu GBK In dedecms, wenn Sie UTF-8-codierte Zeichenfolgen in G konvertieren müssen

Umgang mit Codierungskonvertierungsproblemen in der C++-Entwicklung Umgang mit Codierungskonvertierungsproblemen in der C++-Entwicklung Aug 22, 2023 am 11:07 AM

Umgang mit Codierungskonvertierungsproblemen bei der C++-Entwicklung Während des C++-Entwicklungsprozesses stoßen wir häufig auf Probleme, die eine Konvertierung zwischen verschiedenen Codierungen erfordern. Da es Unterschiede zwischen verschiedenen Kodierungsformaten gibt, müssen Sie bei der Kodierungskonvertierung einige Details beachten. In diesem Artikel erfahren Sie, wie Sie mit Codierungskonvertierungsproblemen in der C++-Entwicklung umgehen. 1. Verschiedene Kodierungsformate verstehen Bevor Sie sich mit Problemen bei der Kodierungskonvertierung befassen, müssen Sie zunächst die verschiedenen Kodierungsformate verstehen. Zu den gängigen Kodierungsformaten gehören ASCII, UTF-8, GBK usw. ASCII ist das früheste Kodierungsformat

See all articles