ASP.NET MVC: nl2br() Ersatz für HtmlHelper

Da ich ja ursprünglich von PHP herkomme, habe ich natürlich eine schöne Funktion wie nl2br() vermisst.
Da ich nichts gescheites gefunden habe, habe ich natürlich die Funktionen von C#3.0 ausgenutzt und einfach die HtmlHelper Class erweitert.
Vielleicht kann es ja wer gebrauchen.

using System.Web.Mvc;

namespace MyProject.CustomExtensions
{
    public static class MyHtmlHelperExtensions
    {
        public static string Encode(this HtmlHelper html, string text, bool convertNewLine)
        {
            if (convertNewLine)
            {
                return html.Encode(text).Replace("\n", "<br />");
            }
            return html.Encode(text);
        }

        public static string Encode(this HtmlHelper html, object text, bool convertNewLine)
        {
            if (convertNewLine)
            {
                return html.Encode(text).Replace("\n", "<br />");
            }
            return html.Encode(text);
        }
    }

}

3 Gedanken zu „ASP.NET MVC: nl2br() Ersatz für HtmlHelper“

  1. warum hast du denn die Methode zweimal in der Klasse? Zur Plattformkompatibilität (Mono!) würde ich dir raten, das mit einem RegExp der Form /[\r]\n//i zu machen.

    Sonst hast du evtl. fälschlicherweise ein \r in der Ausgabe, was eigentlich gar nicht dahin gehört.

  2. Weil es Encode() einmal für object und einmal für string gibt. Ich habs nur einmal gebraucht, dachte nur wegen der Vollständigkeithalber.
    Werd das mit dem Regex noch mal ausprobieren 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.