Ich habe viele Schwierigkeiten, eine Bild-URL mit Leerzeichen zu vergleichen.Regex, um Leerzeichen in Bildern in Entitäten zu ändern
Ich brauche diese
http://site.com/site.com/files/images/img 2 (5).jpg
in ein div wie diese zu machen:
.replace(/(http:\/\/([^\s]+\.(jpg|png|gif)))/ig, "<div style=\"background: url($1)\"></div>")
Hier ist der Thread über das: regex matching image url with spaces
Jetzt habe ich beschlossen, zunächst das machen Leerzeichen in Entitäten, damit der obige Regex funktioniert.
Aber ich habe wirklich eine Menge Schwierigkeiten damit. Etwas wie folgt aus:
.replace(/http:\/\/(.*)\/([^\<\>?:;]*?) ([^\<\>?:;]*)(\.(jpe?g|png|gif))/ig, "http://$1/$2%20$3$4")
Ersetzt ein Raum, aber der ganze Rest sind noch Räume.
Ich muss eine Regex schreiben, die besagt, alle Leerzeichen zwischen http: // und einer Bilderweiterung (png | jpg | gif) in% 20.
An diesem Punkt, ehrlich gesagt nicht sicher, ob es überhaupt möglich ist. Jede Hilfe wird geschätzt, danke.
Der Versuch, Paolo Flucht:
.escape(/http:\/\/(.*)\/([^\<\>?:;]*?) ([^\<\>?:;]*)(\.(jpe?g|png|gif))/)
Eine andere Art, wie ich dies tun kann, ist serverseitig in PHP zu entkommen und in PHP kann ich direkt Schlamassel mit dem Dateinamen, ohne dass es in Regex übereinstimmen.
Aber soweit ich weiß, etwas wie htmlentities gelten nicht für Leerzeichen. Irgendwelche Hinweise in dieser Richtung wären auch großartig.
Sie müssen die Escape-Funktion aufrufen, auf welcher Zeichenfolge Sie die Regex aufrufen ... –
Welche Zeichenfolge? Ich muss eine (y) Bild-URL zuordnen. – Mark
Sie müssen es gegen was? –