REGEX et langage d'un site
Posté : 29 mai 2007, 23:13
Bonjour à tous !
Bon je viens vers vous pour vous faire tester quelques regex que j'ai fait, afin d'être sûr qu'elle soit compréhensible, j'aimerai que vous me dites ce que vous comprenez en la lisant.
Elle permettent de trouver la langue d'un site, je pense qu'il existe d'autre possibilité mais je n'est que trouver celle-ci (pour le moment).
La variable $codeHTML est le code HTML du site récupérer avec file_get_contents().
Voici les regex :
Exemple :
<link rel="stylesheet" href="style.css" type="text/css">
peut très bien s'écrire de la suivante aussi
<link rel="stylesheet" type="text/css" href="style.css">
ou encore
<link type="text/css" href="tstyle.css" rel="stylesheet">
Plusieurs façon sont possible. Les balises ne sont que pour monter les possibilité, ce n'est pas ce que je recherche avec les regex.
Voilà mon vrai problème, mais dans un premier temps savoir si mes regex sont corrects car je n'est pas eu le temps de tester encore, désolé.
Je vous remercie tous d'avance pour votre aide et vive PHPFrance !
Bon je viens vers vous pour vous faire tester quelques regex que j'ai fait, afin d'être sûr qu'elle soit compréhensible, j'aimerai que vous me dites ce que vous comprenez en la lisant.
Elle permettent de trouver la langue d'un site, je pense qu'il existe d'autre possibilité mais je n'est que trouver celle-ci (pour le moment).
La variable $codeHTML est le code HTML du site récupérer avec file_get_contents().
Voici les regex :
<?php
preg_match_all( '/<html xmlns="([^"]+)"([[:blank:]]*)xml:lang="([^"]+){1,2}"([[:blank:]]*)lang="([^"]+){1,2}">+/', $codeHTML, $language )
preg_match_all( '/<html xmlns="([^"]+)"([[:blank:]]*)xml:lang="([^"]+){1,5}"([[:blank:]]*)lang="([^"]+){1,5}">+/', $codeHTML, $language )
preg_match_all( '/<meta name="(lang|language)"([[:blank:]]*)content="([^"]+){1,2}"([[:blank:]]*[\/?])>+/', $codeHTML, $language )
preg_match_all( '/<meta http-equiv="(Content-language|content-language|language|lang)"([[:blank:]]*)content="([^"]+){1,2}"([[:blank:]]*[\/?])>+/', $codeHTML, $language )
?>
Le seul souci qui se présente à moi est que les balises HTML présente ci-dessous dans les regex, peuvent être dans tous les sens.Exemple :
<link rel="stylesheet" href="style.css" type="text/css">
peut très bien s'écrire de la suivante aussi
<link rel="stylesheet" type="text/css" href="style.css">
ou encore
<link type="text/css" href="tstyle.css" rel="stylesheet">
Plusieurs façon sont possible. Les balises ne sont que pour monter les possibilité, ce n'est pas ce que je recherche avec les regex.
Voilà mon vrai problème, mais dans un premier temps savoir si mes regex sont corrects car je n'est pas eu le temps de tester encore, désolé.
Je vous remercie tous d'avance pour votre aide et vive PHPFrance !