基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)_PHP教程
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('/
$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]);

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

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

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

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 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.

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.

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.

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 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
