Feedback

C# - HTML aus einem String entfernen

Veröffentlicht von am 1/21/2007
(2 Bewertungen)
Entfernt HTML Code aus einem String
/// <summary>
/// Removes the HTML Code.
/// </summary>
/// <param name="Text">The text.</param>
/// <returns>The string without HTML Code</returns>
private string StripHTML(string inputString)
{           
    return Regex.Replace(inputString, "<.*?>", string.Empty);
}
Abgelegt unter Regex, HTML, String.

3 Kommentare zum Snippet

Robert Dettmann schrieb am 2/4/2007:
Hm, ja vielleicht, aber: http://aspn.activestate.com/ASPN/Cookbook/Rx/Recipe/66459
dariusarnold schrieb am 2/12/2013:
Nach welchem Muster ist der zweite Paramter angegeben?? Ist '.*?' der einfach der Gesammte Platzhalter?
Koopakiller schrieb am 2/13/2013:
@Darius: Der Punkt steht für ein beliebiges Zeichen (aber normalerweise kein Zeilenumbruch). Das Sternchen steht für 0 bis unendlich vorkommen von <em>'.'</em> Das Fragezeichen wiederrum sorgt dafür, das das <em>'>'</em> Zeichen als Tag-Ende betrachtet wird.

Ich würde es allerdings anders machen: <em><[^<]+("[^"]*"[^<]*)*></em>
Wobei dieser Regex sicherlich auch nicht perfekt ist. Ich beachte aber noch, das <em>'<'</em> und <em>'>'</em> in Anführungszeichen normalerweise nicht als Taganfang bzw. Tagende betrachtet werden. Das mag zwar nicht normkonform sein, aber es gibt leider solchen Code.
Beispiel: <em>< img src="#" alt="<Alternativtext>" /></em>
Andererseits sollte man <em>'<'</em> und <em>'>'</em> vielleicht doch besser als <em>"& lt;"</em> und <em>"& gt;"</em> schreiben, wobei das sicherlich nicht jeder Webprogrammierer macht.
 

Logge dich ein, um hier zu kommentieren!