Maison > Article > développement back-end > Comment puis-je extraire des informations spécifiques des fichiers CSS en utilisant PHP ?
Analyse de fichiers CSS avec PHP
Lorsque vous travaillez avec des fichiers CSS, il peut être avantageux d'avoir la possibilité d'analyser et d'extraire des informations spécifiques, tels que les noms de classe contenant une chaîne particulière. Pour y parvenir avec PHP, un utilisateur d'un forum de programmation a conçu une solution qui implique :
La solution :
La solution consiste à définir une fonction PHP appelée "parse( )" qui prend un fichier CSS comme argument. Cette fonction utilise des expressions régulières pour faire correspondre toutes les règles CSS du fichier et extrait le sélecteur et les règles dans des tableaux. Le résultat est un tableau associatif où chaque clé est un sélecteur (par exemple, "#content") et la valeur correspondante est un tableau de règles pour ce sélecteur.
Implémentation du code :
<br>function parse ($file){</p> <pre class="brush:php;toolbar:false">$css = file_get_contents($file); preg_match_all( '/(?ims)([a-z0-9\s\.\:#_\-@,]+)\{([^\}]*)\}/', $css, $arr); $result = array(); foreach ($arr[0] as $i => $x){ $selector = trim($arr[1][$i]); $rules = explode(';', trim($arr[2][$i])); $rules_arr = array(); foreach ($rules as $strRule){ if (!empty($strRule)){ $rule = explode(":", $strRule); $rules_arr[trim($rule[0])] = trim($rule[1]); } } $selectors = explode(',', trim($selector)); foreach ($selectors as $strSel){ $result[$strSel] = $rules_arr; } } return $result;
}
Exemple d'utilisation :
Pour utiliser cette fonction, vous l'appelleriez en passant le chemin d'accès à votre fichier CSS et accédez au tableau associatif résultant comme ceci :
<br>$css = parse( 'css/'.$user['blog'].'.php');<br>$css'#selector';<br>
En analysant les fichiers CSS de cette manière , vous pouvez facilement accéder et manipuler des règles de style spécifiques en fonction de vos besoins.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!