Heim > Artikel > Backend-Entwicklung > Reguläre PHP-Ausdrücke: So passen Sie alle Stylesheet-Links in HTML an
In HTML werden Stylesheet-Links normalerweise in das Head-Tag eingebettet. Diese Links verweisen auf CSS-Dateien, die Stilregeln enthalten, die die Anzeige des Dokuments anpassen.
In einigen Fällen müssen wir Code schreiben, um HTML-Seiten automatisch zu verarbeiten, z. B. um bestimmte Elemente oder Attribute darin zu entfernen oder zu ersetzen. Wenn wir zu diesem Zeitpunkt die Stylesheet-Links in HTML bearbeiten müssen, können wir reguläre Ausdrücke in PHP verwenden, um diese Links abzugleichen.
Hier ist ein Beispiel dafür:
Zuerst müssen wir den Inhalt der HTML-Seite abrufen und ihn in einer Variablen speichern. Sie können die Funktion file_get_contents von PHP verwenden, um diesen Vorgang auszuführen, zum Beispiel:
$html = file_get_contents("http://www.example.com");
Als nächstes müssen wir einen regulären Ausdruck schreiben, der dem Stil in entspricht Link zur HTML-Tabelle. Stylesheet-Links haben normalerweise das folgende Format:
Darüber hinaus gibt es einige mögliche Variationen, beispielsweise im href-Attribut Enthalten Sie absolute oder relative Pfade im Wert oder verwenden Sie Attributwerte in doppelten oder einfachen Anführungszeichen usw. Daher müssen wir einen regulären Ausdruck schreiben, der mit verschiedenen Stylesheet-Varianten-Links übereinstimmen kann.
Das Folgende ist ein regulärer Ausdruck, der Stylesheet-Links entspricht:
$link_pattern = '/
Dieser reguläre Ausdruck beginnt mit < ;verknüpfen und dann eine beliebige Anzahl von Zeichen (.) abgleichen, bis das href-Attribut gefunden wird. Als nächstes verwenden wir ['"]?, um den Attributwert in Anführungszeichen oder einfachen Anführungszeichen abzugleichen und diesen Wert in einer Gruppe zu speichern. . Schließlich verwenden wir ..css, um Dateinamen, die auf .css enden, im href-Attributwert abzugleichen.
Nach Abschluss können wir die Funktion preg_match_all verwenden, um alle Stylesheet-Links auf der HTML-Seite abzugleichen:
preg_match_all($link_pattern, $html, $matches);
Diese Funktion gibt ein Array $matches zurück, das „Alle“ enthält passende Stylesheet-Links. Das Element $matches[0] enthält alle übereinstimmenden Zeichenfolgen, während $matches[1] den übereinstimmenden href-Attributwert enthält.
Schließlich können wir die Stylesheet-Links bearbeiten, z. B. einen Link entfernen oder ersetzen:
$new_html = preg_replace($link_pattern, '', $html);
In diesem Beispiel werden alle passenden Stylesheet-Links durch den Kommentar „“ ersetzt. Durch die Verwendung regulärer Ausdrücke zum Abgleichen von Stylesheet-Links in HTML können Sie die Seitenverarbeitung einfach automatisieren. Beim Schreiben regulärer Ausdrücke müssen Sie verschiedene Variationen berücksichtigen, um sicherzustellen, dass alle Stylesheet-Links übereinstimmen.Das obige ist der detaillierte Inhalt vonReguläre PHP-Ausdrücke: So passen Sie alle Stylesheet-Links in HTML an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!