Heim  >  Artikel  >  Web-Frontend  >  Wie extrahiere ich Klassennamen aus einer CSS-Datei mit einem bestimmten Teilstring in PHP?

Wie extrahiere ich Klassennamen aus einer CSS-Datei mit einem bestimmten Teilstring in PHP?

Linda Hamilton
Linda HamiltonOriginal
2024-11-20 16:19:15454Durchsuche

How to Extract Class Names from a CSS File with a Specific Substring in PHP?

Eine CSS-Datei mit PHP analysieren

In PHP umfasst das Parsen einer CSS-Datei das Extrahieren und Bearbeiten spezifischer Daten aus ihrem Inhalt. Eine häufige Aufgabe besteht darin, Klassennamen zu identifizieren, die eine bestimmte Teilzeichenfolge enthalten. Hier ist eine Lösung mit einem regulären Ausdruck:

function parseCSS($file) {
    $css = file_get_contents($file);
    preg_match_all('/#(?P<selector>\S+)\s+.postclass.*?\{.*?}/s', $css, $matches);
    return $matches['selector'] ?? [];
}

Diese Funktion verwendet einen CSS-Dateipfad als Eingabe, lädt seinen Inhalt und sucht nach Zeilen, die mit einem Hashtag (#) beginnen, gefolgt von beliebigen Zeichen (außer Leerzeichen oder Zeilenumbrüche) und ein Punkt (.postclass). Die Übereinstimmungen werden in der Capture-Gruppe mit dem Namen „Selektor“ erfasst.

So verwenden Sie die Funktion beispielsweise zum Extrahieren von Klassennamen, die „postclass“ enthalten:

$cssFile = 'cssfile.css';
$classNames = parseCSS($cssFile);
print_r($classNames);

Dadurch wird ein Array ausgegeben mit Elementen wie:

["#content.postclass-subcontent", "#content2.postclass-subcontent2"]

Das Ergebnis kann dann verwendet werden, um die CSS-Klassennamen basierend auf den gewünschten Anforderungen weiter zu manipulieren oder zu analysieren.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich Klassennamen aus einer CSS-Datei mit einem bestimmten Teilstring in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn