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);
}
}
}
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.