dmnBrest
@dmnBrest
Salesforce for money. Python, Go, Ruby for soul.

Как правильно преобразовать Text to HTML в Aps.Net?

Подскажите эквивалент в ASP.NET вот такой замечательной фичи из RoR
https://apidock.com/rails/ActionView/Helpers/TextH...
Мне нужно перевести простой текст в красивый HTML. Не просто заменить перевод строки на <br/> а что-то посерьезнее. Может есть какие либы сторонние?
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
vabka
@vabka Куратор тега ASP.NET
Токсичный шарпист

Returns text transformed into HTML using simple formatting rules. Two or more consecutive newlines(\n\n or \r\n\r\n) are considered a paragraph and wrapped in tags. One newline (\n or \r\n) is considered a linebreak and a
tag is appended. This method does not remove the newlines from the text.

You can pass any HTML attributes into html_options. These will be added to all created paragraphs.

Options
:sanitize - If false, does not sanitize text.

:wrapper_tag - String representing the wrapper tag, defaults to "p"

Конкретно такого никогда не видел.
В принципе навелосипедить такое не сложно.
Велосипед

static string ToHtml(string text, bool sanitize = true, string? wrap = null)
{
	var normalized = text.Replace("\r\n", "\n");
	if (sanitize)
		normalized = WebUtility.HtmlEncode(normalized);
	var paragraphs = text.Split("\n\n")
		.Select(paragraph =>
		{
			var lines = paragraph.Split("\n");
			return string.Join("\n<br/>", lines);
		});
	var htmlText = string.Join("\n\n", paragraphs.Select(p => $"<p>\n{p}\n</p>"));
	return wrap != null 
		? $"<{wrap}>\n{htmlText}\n</{wrap}>" 
		: htmlText;
}


Если нужно более сложное форматирование, то есть либа для работы с markdown: https://github.com/xoofx/markdig
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Jeer
@Jeer
уверенный пользователь
Привет, можно подробнее, для каких задач такое используется? Пример какой-то.
Текст пишется в каком-то редакторе? Зачем тогда какие-то странные кастомные подстановки? Есть wysiwyg или какой-нибудь tinymce редакторы, которые сразу выдают html на выходе.
То есть тут передаётся текст и отдельными параметрами, что необходимо этот текст обернуть в или тип того?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы