Ich habe eine Zeichenfolge in dieser Form:
%Vor%Dies ist von einem CSS-Stil für ein bestimmtes Element, das im Moment auf der Seite nicht sichtbar ist. Was ich tun muss, ist das Hintergrundbild vorab zu laden, aber dazu brauche ich seine URL, und ich versuche, einen regulären Ausdruck zu finden, der es findet.
Ich weiß, dass der Anteil von http://www.example.com/imgs/backgrounds/
konstant bleibt, die einzige Sache, die sich ändert, ist der Bildname selbst, der entweder mit .jpg
oder .png
enden kann.
Dies war ein Versuch:
%Vor% Das Problem dabei war, dass nur der http://www.example.com/imgs/backgrounds/
-Teil abgeholt wurde. Also habe ich das versucht, aber das funktioniert überhaupt nicht!
Was mache ich falsch? Danke für jede Hilfe!
Eine Hintergrund-URL kann '
oder "
oder keine um die URL innerhalb der Klammer haben
Gültige URLs
url("http://www.example.com/imgs/backgrounds/bg80.jpg")
url('http://www.example.com/imgs/backgrounds/bg80.jpg')
url(http://www.example.com/imgs/backgrounds/bg80.jpg)
Für eine generische Lösung könnten Sie also
verwenden %Vor% Ich denke, Gaby's Antwort ist fast korrekt, aber laut dieser Antwort können nicht angegebene CSS-URLs Zeichen mit Escape-Zeichen enthalten ( ex: background-image: url(http://foobar.com?\'\()
ist ein gültiger Weg, um ein Hintergrundbild mit der URL http://foobar.com?')
zu laden.Ein genauerer Ausdruck für die Erfassung aller URLs in einem Stylesheet ( testet hier ):
/[:,\s]\s*url\s*\(\s*(?:'(\S*?)'|"(\S*?)"|((?:\\s|\\)|\\"|\\'|\S)*?))\s*\)/gi
Hier ist also eine aufgeräumte Version, die sich nur auf Bilder & amp; konvertiert gefundene Bilder relative Pfade zu absolut. Auf diese Weise können Sie leicht vorladen. Dieser Code erstellt ein Array mit der ursprünglichen URL und der absoluten URL. Sie können das Ergebnis einfach durchlaufen und die absoluten URL-Bilder vorab laden
%Vor%Hier funktioniert JSbin Ссылка
Ich mache es jetzt einfach und ich komme auf diese Seite also denke ich, mein Muster ist einfach und absolut:
/url(?:\([\'"\s]?)((?!data|http|\/\/)(\.\.?\/|\/))(.*?)(?:[\'"\s]?\))/g
Tags und Links javascript css regex