Question :
Vous cherchez une méthode pour analyser un fichier CSS en PHP et extraire chaque nom de classe contenant "postclass" dans son nom. Le résultat souhaité est un tableau de ces noms de classe.
Solution :
Utilisation d'expressions régulières :
Le PHP suivant La fonction accomplit la tâche à l'aide d'expressions régulières :
function parse($file){ $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]); if (strpos($selector, 'postclass') !== false) { $result[] = $selector; } } return $result; }
Utilisation :
$css = parse('css/'.$user['blog'].'.php'); print_r($css); // Output: ["#content.postclass-subcontent", "#content2.postclass-subcontent2"]
Cette fonction analyse le fichier CSS et stocke les noms de classe correspondants dans le tableau $result. Il renvoie ensuite le tableau.
Utilisation d'Ajax et jQuery :
Une approche alternative utilise Ajax et jQuery pour récupérer le fichier CSS et extraire les classes requises :
$(function () { $.get('main.css', function (data) { data = data.match(/(#[a-z0-9]*?\ .?postclass.*?)\s?\{/g); if (data) { $.each(data, function (index, value) { value = value.substring(0, value.length - 2); $(value.split(' .')[0]).wrapInner('<div class="' + value.split('.')[1] + '" />'); }); } }); });
Ce code récupère le fichier CSS, extrait les noms de classe contenant « postclass » et encapsule les éléments correspondants avec un DIV basé sur la classe CSS.
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!