Oto mój kod regex:Regex: Znalezienie URL w tle obrazu CSS, kłopoty
preg_match_all('/background[-image]*:[\s]*url\(["|\']+(.*)["|\']+\)/', $css, $matches, PREG_SET_ORDER);
Wygląda na CSS, który wygląda tak:
background:url('../blah.jpg');
Mój problem mam jest I zeskrobać trochę CSS wygląda następująco:
background:transparent url('../blah.jpg');
background:transparent no-repeat url('../blah.jpg');
nie jestem ekspertem, jeśli chodzi o wyrażenie regularne, więc zastanawiam się, jak mogę powiedzieć to, aby pominąć niczego po dwukropku i przed URL.
BTW, '' dodaje dopasowany ciąg do '$ matches ['image']'? Nie wiedziałem tego! Dobry!! –
safrazik
Tak. Mecze $ normalnie przechwytują wszystkie wartości w nawiasach i cały mecz, ale gdy już wiesz, gdzie dokładnie chcesz się dostać, niezależnie od tego, gdzie jest w twoim regexie, możesz użyć etykiet. Jest o wiele bardziej praktyczny. – inhan
Dziękuję za wyjaśnienie :) – safrazik