CSS-Dateien mit PHP analysieren
Bei der Arbeit mit CSS-Dateien kann es von Vorteil sein, die Möglichkeit zu haben, bestimmte Informationen zu analysieren und zu extrahieren. wie zum Beispiel Klassennamen, die eine bestimmte Zeichenfolge enthalten. Um dies mit PHP zu erreichen, hat ein Benutzer in einem Programmierforum eine Lösung entwickelt, die Folgendes beinhaltet:
Die Lösung:
Die Lösung beinhaltet die Definition einer PHP-Funktion namens „parse( )“, das eine CSS-Datei als Argument akzeptiert. Diese Funktion verwendet reguläre Ausdrücke, um alle CSS-Regeln in der Datei abzugleichen, und extrahiert den Selektor und die Regeln in Arrays. Das Ergebnis ist ein assoziatives Array, in dem jeder Schlüssel ein Selektor ist (z. B. „#content“) und der entsprechende Wert ein Array von Regeln für diesen Selektor ist.
Code-Implementierung:
<br>Funktion parse($file){</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><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;
}
Beispielverwendung:
Um diese Funktion zu verwenden, würden Sie sie aufrufen, indem Sie den Pfad zu Ihrer CSS-Datei übergeben und wie folgt auf das resultierende assoziative Array zugreifen:
<br>$css = parse( 'css/'.$user['blog'].'.php');<br>$css'#selector';<br>
Durch das Parsen von CSS-Dateien auf diese Weise , können Sie ganz einfach auf bestimmte Stilregeln zugreifen und diese entsprechend Ihren Anforderungen bearbeiten.
Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP bestimmte Informationen aus CSS-Dateien extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!