基于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]);

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment souligner sur l'ordinateur Lors de la saisie de texte sur l'ordinateur, nous devons souvent utiliser le soulignement pour mettre en évidence certains contenus ou les marquer. Cependant, pour certaines personnes qui ne sont pas très familiarisées avec les méthodes de saisie informatique, souligner peut être un peu déroutant. Cet article vous expliquera comment souligner sur votre ordinateur. Dans différents systèmes d'exploitation et logiciels informatiques, la manière de saisir le trait de soulignement peut être légèrement différente. Ce qui suit présente les méthodes courantes sur le système d'exploitation Windows et le système d'exploitation Mac respectivement. Tout d’abord, jetons un coup d’œil au fonctionnement sous Windows

Les expressions régulières PHP sont un outil puissant pour le traitement et la conversion de texte. Il peut gérer efficacement les informations textuelles en analysant le contenu du texte et en le remplaçant ou en l'interceptant selon des modèles spécifiques. Parmi elles, une application courante des expressions régulières consiste à remplacer des chaînes commençant par des caractères spécifiques. Nous expliquerons cela comme suit.

Les expressions régulières Golang utilisent le caractère barre verticale | pour faire correspondre plusieurs mots ou chaînes, séparant chaque option comme une expression OU logique. Par exemple : correspond à "fox" ou "dog" : fox|dog correspond à "quick", "brown" ou "lazy" : (quick|brown|lazy) correspond à "Go", "Python" ou "Java" : Go| Python |Java fait correspondre des mots ou des codes postaux à 4 chiffres : ([a-zA

Comment supprimer le chinois en utilisant les règles habituelles en PHP : 1. Créez un exemple de fichier PHP ; 2. Définissez une chaîne contenant le chinois et l'anglais ; 3. Utilisez "preg_replace('/([\x80-\xff]*)/i', '',$a);" La méthode standard peut supprimer les caractères chinois des résultats de la requête.

Dans cet article, nous apprendrons comment supprimer les balises HTML et extraire le contenu en texte brut des chaînes HTML à l'aide d'expressions régulières PHP. Pour montrer comment supprimer les balises HTML, définissons d'abord une chaîne contenant des balises HTML.

En tant que langage de programmation puissant, Golang possède des performances et des capacités de concurrence élevées, et fournit également une riche prise en charge de bibliothèques standard, y compris la prise en charge de la conversion d'encodage. Cet article explorera en profondeur les principes de mise en œuvre de la conversion de codage dans Golang et l'analysera avec des exemples de code spécifiques. Qu’est-ce que le transcodage ? La conversion d'encodage fait référence au processus de conversion d'une séquence de caractères d'un encodage à un autre. Dans le développement réel, nous devons souvent gérer des conversions entre différents encodages, comme la conversion de chaînes codées en UTF-8.

L'apprentissage de la fonction de conversion d'encodage dedecms n'est pas compliqué. Des exemples de code simples peuvent vous aider à maîtriser rapidement cette compétence. Dans les dedecms, la fonction de conversion de codage est généralement utilisée pour traiter des problèmes tels que les caractères chinois tronqués et les caractères spéciaux afin de garantir le fonctionnement normal du système et l'exactitude des données. Ce qui suit présentera en détail comment utiliser la fonction de conversion d'encodage de dedecms, vous permettant de faire face facilement à divers besoins liés à l'encodage. 1.UTF-8 en GBK En dedecms, si vous devez convertir une chaîne codée UTF-8 en G

Dans la base de données MySQL, le codage des caractères est un concept très important. Le codage des caractères fait référence à la manière dont les caractères sont mappés dans des données binaires. Il existe de nombreux types d'encodages de caractères pris en charge dans MySQL, les plus couramment utilisés sont l'encodage Ascii et l'encodage UTF-8. Ces deux codages de caractères jouent un rôle très important dans MySQL, car les données dans MySQL sont stockées sous forme de caractères et le choix du codage de caractères peut affecter les performances et l'espace de la base de données. Le codage Ascii est une méthode de codage basée sur les lettres latines.
