Hier ist meine regex Code:Regex: URLs in background-image CSS Finding, Ärger
preg_match_all('/background[-image]*:[\s]*url\(["|\']+(.*)["|\']+\)/', $css, $matches, PREG_SET_ORDER);
Es CSS sieht das wie folgt aussieht:
background:url('../blah.jpg');
Mein Problem, das ich habe, ist, einige CSS ich kratzen sieht wie folgt aus:
background:transparent url('../blah.jpg');
background:transparent no-repeat url('../blah.jpg');
ich kein Experte bin, wenn es um regex kommt, so frage ich mich, wie ich es etwas überspringen kann sagen, nach dem Doppelpunkt und vor der URL.
BTW, '' fügt die passende Zeichenkette '$ matches ['image']' '? Das wusste ich nicht! Gute Eins !! –
safrazik
Ja. $ Übereinstimmungen fangen normalerweise alle Werte in Klammern und die gesamte Übereinstimmung ab. Sobald Sie jedoch wissen, wo genau Sie es erhalten möchten, unabhängig davon, wo es sich in Ihrer Regex befindet, können Sie Labels verwenden. Es ist viel praktischer. – inhan
Danke für die Erklärung :) – safrazik