diff --git a/MP.Prog/Components/DiffView.razor b/MP.Prog/Components/DiffView.razor
index af2aab1c..f1c3b368 100644
--- a/MP.Prog/Components/DiffView.razor
+++ b/MP.Prog/Components/DiffView.razor
@@ -31,12 +31,12 @@
-
@((MarkupString)StrFix(oldResult))
+
@StrFix(oldResult)
-
@((MarkupString)StrFix(newResult))
+
@StrFix(newResult)
diff --git a/MP.Prog/Components/DiffView.razor.cs b/MP.Prog/Components/DiffView.razor.cs
index 7b9ce7b8..73e490dc 100644
--- a/MP.Prog/Components/DiffView.razor.cs
+++ b/MP.Prog/Components/DiffView.razor.cs
@@ -4,6 +4,7 @@ using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
+using System.Web;
namespace MP.Prog.Components
{
@@ -77,21 +78,26 @@ namespace MP.Prog.Components
StringBuilder sbOld = new StringBuilder();
foreach (var item in diff)
{
+ // se fosse testo vuoto --> metto spazio!
+ if (string.IsNullOrEmpty(item.text))
+ {
+ item.text = " ";
+ }
switch (item.operation)
{
case Operation.DELETE:
- sbOld.Append($"{item.text}");
+ sbOld.Append($"{HttpUtility.HtmlEncode(item.text)}");
numChanges++;
break;
case Operation.INSERT:
- sbNew.Append($"{item.text}");
+ sbNew.Append($"{HttpUtility.HtmlEncode(item.text)}");
numChanges++;
break;
case Operation.EQUAL:
- sbNew.Append($"{item.text}");
- sbOld.Append($"{item.text}");
+ sbNew.Append($"{HttpUtility.HtmlEncode(item.text)}");
+ sbOld.Append($"{HttpUtility.HtmlEncode(item.text)}");
break;
default:
@@ -99,8 +105,8 @@ namespace MP.Prog.Components
}
}
- newResult = sbNew.ToString().Trim();
- oldResult = sbOld.ToString().Trim();
+ newResult = sbNew.ToString();
+ oldResult = sbOld.ToString();
var pUpd = Task.Run(async () =>
{
await diffDone.InvokeAsync(numChanges);
@@ -118,9 +124,14 @@ namespace MP.Prog.Components
#region Private Methods
- private string StrFix(string origVal)
+ private MarkupString StrFix(string origVal)
{
- return origVal.Replace(" ", " ").Replace(Environment.NewLine, sepDest).Replace("\n", sepDest).Replace("\r", sepDest);
+ string fixVal = origVal.Trim()
+ .Replace(" ", " ")
+ .Replace(Environment.NewLine, sepDest);
+ //.Replace("\r", sepDest)
+ //.Replace("\n", sepDest);
+ return new MarkupString(fixVal);
}
#endregion Private Methods