<p><img title="Windows XP installieren" src="/image.axd?picture=DSC09099.jpg" alt="Windows XP installieren" /></p> <p>Sie installiert ihr erstes Windows XP auf einem ganz alten DELL Laptop.</p> <p>Sie installiert ihr erstes Windows XP auf einem ganz alten DELL Laptop.</p>
Ich will jetzt den Text "Windows XP" durch eine <a href...>Windows XP</a> ersetzen. Das darf aber sicher nicht im <img> Tag passieren. Sonst wird anstelle des Bildes nur noch Schrott angezeigt. Zudem soll "Windows XP" nur EINMAL ersetzt werden. Ich vermute mal das könnte man mit einem RegEx (C#) machen. Aber wie?
Der Ansatz funktioniert. Jetzt muss ich nur noch im ReplaceMatch die Logik finden die mir prüft ob der Fund in einem <img> oder <a> Tag ist. Dann darf ich nicht Replacen. Sonst schon. :-) Danke für diesen Hinweis.
Ich weiss ja nicht wie flexibel der Code sein muss den du sucht.. aber du koenntest dein HTML aufteilen zb in einer Variablen steckt : <p><img title="Windows XP installieren" src="/image.axd?picture=DSC09099.jpg" alt="Windows XP installieren" /></p> in der anderen der rest dann arbeitest du mit replace und setzt es am ende wieder zusammen
Erstens zu deinem HTML Verständnis Problem ;-) Natürlich kann man in einem <img>-Tag keine Links setzen. Wozu auch? ...ein <img>-Tag simbolisiert ein einfaches Bild! Falls du das Bild "anklickbar" machen möchtest, dann gilt dies ja für das gesamte Bild. Aus diesem Grund muß man dann den Link (<a>-Tag) um das <img>-Tag herum setzen. Also so: <a href='http://...' alt=''><img src='..'></a>
Aus diesem Hintergrund heraus ist es somit nicht möglich NUR "Windows XP" zu ersetzen bzw. ergäbe es nonsense.
RegEx selbst findest du unter:
using System.Text.RegularExpressions; Regex myRegex = new Regex([Pattern]);
Das mit dem HTML ist mir schon klar. :-) Wie ich den Regex in C# mache auch. Aber das Pattern für den Regex, dass wird mir ein Rätzel aufgeben. Ich meine, ich darf auch in einem bestehenden <a href..></a> kein Windows XP mit einem Link machen. Das würde den ursprünglichen Link auch zerschiessen.