using System.Text.RegularExpressions;
using System.Web;
namespace atakanozbancom.Models.classes
{
public static class DescriptionFormatter
{
private static readonly Regex LinkPattern = new Regex(
@"\[([^\]\r\n]{1,200})\]\((https?://[^\s)]{1,2000})\)",
RegexOptions.Compiled | RegexOptions.IgnoreCase);
public static string ToSafeHtml(string raw)
{
if (string.IsNullOrWhiteSpace(raw))
return string.Empty;
var encoded = HttpUtility.HtmlEncode(raw);
var withLinks = LinkPattern.Replace(encoded, m =>
{
var label = m.Groups[1].Value;
var url = m.Groups[2].Value;
return $"{label}";
});
var withBreaks = withLinks
.Replace("\r\n", "\n")
.Replace("\n", "
");
return withBreaks;
}
}
}