Есть ли что-то вроде функции PHP nl2br() для ASP.NET MVC?
Существует ли стандартная функция, которая выполняет перевод строки в кодировку <br />
в ASP.Net MVC?
5 answers
Теперь есть:
public static class StockStandardFunctions
{
public static string Nl2br(this string input)
{
return input.Nl2br(true);
}
public static string Nl2br(this string input, bool is_xhtml)
{
return input.Replace("\r\n", is_xhtml ? "<br />\r\n" : "<br>\r\n");
}
}
Исправлено, чтобы немного точнее следовать спецификации php для nl2br (спасибо Максу за указание на это). Однако это все еще предполагает \r\n новых строк...
Все эти ответы вполне верны, но вы также должны сделать mystring.Replace("\r?\n", "<br />");
, чтобы поймать окончания строк UNIX, если ваш источник (пользовательский ввод или бд) может это обеспечить.
Я не верю, что существует "стандартная стандартная функция", которая делает это точно так же, как функция nl2br() PHP, однако следующее будет эквивалентно:
myString.Replace("\r\n", "<br />");
mystring.Replace("\r\n","<br />");
Как насчет чего-то вроде:
public static string Nl2br(string str)
{
return Nl2br(str, true);
}
public static string Nl2br(string str, bool isXHTML)
{
string brTag = "<br>";
if (isXHTML) {
brTag = "<br />";
}
return str.Replace("\r\n", brTag + "\r\n");
}
Вот сигнатура функции из документации PHP:
Строка nl2br (строка $string [, bool $is_xhtml = true])
Функция PHP также добавляет новую строку после тега break.