JSFiddle - React, Tailwind, and code Playground
JavaScript
public static MvcHtmlString ToParagraphs(string description)
{
StringBuilder htmlStrBuilder = new StringBuilder();
string[] lines = description.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);
for (int currentLineNumber = 0; currentLineNumber < lines.Length; currentLineNumber++)
{
switch (currentLineNumber)
{
case 0: //first line
htmlStrBuilder.Append("<div class='col-md-12'><h4>" + lines[currentLineNumber] + "</h4></div>");
break;
case 1: //second line
htmlStrBuilder.Append("<div class='col-md-12'><span style='font-weight: bold;'>" + lines[currentLineNumber] + "</span></div>");
break;
case 2: //second line
htmlStrBuilder.Append("<div class='col-md-12'><span class='BWLabel'>" + lines[currentLineNumber] + "</span></div>");
break;
default://for everything that is bigger than the third line if it contains "-" otherwise display a normal text
if (currentLineNumber > 2)
{
if (lines[currentLineNumber].Contains("-"))
{
string replacedString = Regex.Replace(lines[currentLineNumber], @"-", "");
htmlStrBuilder.Append("<div class='col-md-12'><li>" + replacedString + "</li></div>");
}
else
{
htmlStrBuilder.Append("<text>" + lines[currentLineNumber] + "</text>");
}
}
break;
}
}
return MvcHtmlString.Create(htmlStrBuilder.ToString());
}