Ein Ansatz ist folgender:
%Vor% Dies entspricht effektiv einer Folge von Zeichen, die mit src=
beginnen (die =
wird mit einem umgekehrten Schrägstrich gemerkt, weil sie sonst eine besondere Bedeutung in regulären Ausdrücken hat), gefolgt von einer Folge von Nicht-Leerraum Zeichen ( ^\s*
) gefolgt von einem Leerzeichen ( \s
).
Dieser Ausdruck erfasst explizit die Anführungszeichen, die zum Abgrenzen des Attributs src
verwendet werden. src
wird zurückgegeben, indem ein Teilstring der Variable srcWithQuotes
beginnend mit 1
(das erste, nulleth Zeichen) verwendet wird das Attribut delimiter) bis zum Index vor dem letzten Zeichen (das letzte Zitat, das das Attribut abgrenzt).
Es gibt einen leicht verschachtelten (aber möglicherweise zuverlässigeren) Ansatz, der ein Dokumentfragment verwendet:
%Vor% Natürlich könnten Sie in diesem Beispiel einen beliebigen Ansatz verwenden, um das Bild im temp
-Knoten ( getElementById()
, getElementsByClassName()
...) zu finden.
Angenommen, Sie möchten die Eigenschaft src
in einem <img>
-Tag zusammenführen.
Sie können diese Regex verwenden, da sie mit dem Tag übereinstimmt und dennoch andere Eigenschaften und andere Inhalte in der Eigenschaft src
enthält:
var matches = string.match(/<img([^>]+)src="[/]?([^"]+)"([^>]*)>|<( *)img( *)[/>|>]/g);
es kann verbessert werden, aber funktioniert gut mit einigen Arten des Schreibens.
Wenn Sie beispielsweise <img>
oder sogar <img src="/200px-Unofficial_JavaScript_logo_2.svg.png" alt="" width="100" height="172" />
anpassen möchten, um der URL etwas hinzuzufügen, können Sie Folgendes ersetzen:
string.replace(/<img([^>]+)src="[/]?([^"]+)"([^>]*)>|<( *)img( *)[/>|>]/g, '<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/99/Unofficial_JavaScript_logo_2.svg/" >');
Tags und Links javascript