Så här kanske
res = Regex.Replace(txt, "<img src=\"(?![url]http://)([/url][^\"]+)\" />", "<img src=\"http://www.test.com/$1\" />", RegexOptions.IgnoreCase);
8 svar · 467 visningar · startad av Jon
Försöker knepa ihop ett regexp i c#.
Vill byta ut allt innehåll i src i alla <img taggar i en textmassa
Exempel:
<img src="test.jpg" /> ska bli <img src="http://www.test.com/test.jpg" />
Lyckas bara att få ut själva <img-taggarna. Kan ju parsa manuellt därifrån i varje match men det vore fräsigt att få ihop det i ett regexp
Några tips?
Så här kanske
res = Regex.Replace(txt, "<img src=\"(?![url]http://)([/url][^\"]+)\" />", "<img src=\"http://www.test.com/$1\" />", RegexOptions.IgnoreCase);
Väldigt nära! :)
Behöver dock få med så att det låter attribut som sitter efter (och helst innan) vara kvar.
Dvs jag vill kunna gör samma sak med följande url:er
<img src="test/test.jpg" width="200" height="165" /> och
<img width="200" height="165" src="test/test.jpg" />
resultaten jag önskar är såklart:
<img src="http://www.test.com/test/test.jpg" width="200" height="165" />
<img width="200" height="165" src="http://www.test.com/test/test.jpg" />
res = Regex.Replace(txt, "<img ((?:(?!src)[a-z]+="[^"]+" )*)(?:src="(?![url]http://)([/url][^"]+)" )((?:(?!src)[a-z]+="[^"]+" )*)\/>", "<img $1src=\"http://www.test.com/$2\" $3/>", RegexOptions.IgnoreCase);
Men Jon!
Du borde väl vara tillräckligt gammal i gemet för att veta att det är inlägget med lösningen som ska accepteras som slutgiltigt svar? :)
Jodå det vet jag!
Men jag kunde inte acceptera den posten av någon anledning (kanske för att det inte fanns text utan bara ett <code> - stycke?) Hursomhelst så tyckte jag att det var bättre att flagga mitt inlägg än inget alls ;)
Men jag kunde inte acceptera den posten av någon anledning (kanske för att det inte fanns text utan bara ett <code> - stycke?)
Du måste skoja? Har du ingen länk längst till höger i det megabreda inlägget (du kanske måste scrolla?).
Hursomhelst så tyckte jag att det var bättre att flagga mitt inlägg än inget alls
Jepp! (y) :)
Nu gick det - ordningen återställd på det världomspännande datanätet "internet"!
Måste ha varit något tillfälligt fel i browsern, min hjärna eller kanske både och :e