Upgradato la formattazione dei testi e dei tags
This commit is contained in:
1 parent
9f32778d0a
commit
c9075fabc8
5 files changed
+227
-688
No files matched your search
+130
-54
@@ -1,13 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Linq;
|
||||
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
|
||||
|
||||
namespace A69WD {
|
||||
|
||||
public class cTools {
|
||||
@@ -476,7 +477,7 @@ namespace A69WD {
|
||||
/// <param name="txt">Testo da formattare</param>
|
||||
/// <param name="eliminaTagHtml">Abilitare l'eliminazione di tutti i generici tag </param>
|
||||
/// <returns>Testo formattato</returns>
|
||||
public static string FormattaTesto(string txt, bool eliminaTagHtml) {
|
||||
public static string FormattaTesto(string txt, bool eliminaTagHtml = true) {
|
||||
try {
|
||||
// Analisi dei tag prima di levarli:
|
||||
string testo = Regex.Replace(txt, @"<P>", "\r\n", RegexOptions.IgnoreCase);
|
||||
@@ -503,6 +504,20 @@ namespace A69WD {
|
||||
}
|
||||
|
||||
// Special Entities dal sito https://www.htmlhelp.com/reference/html40/entities/special.html
|
||||
// More can be added, see http://hotwired.lycos.com/webmonkey/reference/special_characters/
|
||||
// Correggo risultato togliendo doppie linee e caratteri html:
|
||||
testo = Regex.Replace(testo, @" ", " ", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"•", " * ", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"…", "…", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"™", "(tm)", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"©", "(c)", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"®", "(r)", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"⁄", "/", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"à", "à", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"è", "è", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"ì", "ì", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"ò", "ò", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"ù", "ù", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @""", "\"", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"&", "&", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"<", "<", RegexOptions.IgnoreCase);
|
||||
@@ -527,8 +542,13 @@ namespace A69WD {
|
||||
testo = Regex.Replace(testo, @"€", "€", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @""", "\"", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"&", "&", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"'", "'", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"<", "<", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @">", ">", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"Č", "Č", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"č", "č", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"Ě", "Ě", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"ě", "ě", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"œ", "œ", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"š", "š", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"Ÿ", "Ÿ", RegexOptions.IgnoreCase);
|
||||
@@ -543,10 +563,13 @@ namespace A69WD {
|
||||
testo = Regex.Replace(testo, @"”", "”", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"„", "„", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"†", "†", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"…", "…", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"
", " ", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"‰", "‰", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"‹", "‹", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"›", "›", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"€", "€", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"", " ", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @""", "\"", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"&", "&", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"<", "<", RegexOptions.IgnoreCase);
|
||||
@@ -570,58 +593,17 @@ namespace A69WD {
|
||||
testo = Regex.Replace(testo, @"›", "›", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"€", "€", RegexOptions.IgnoreCase);
|
||||
|
||||
|
||||
|
||||
// Correggo risultato togliendo doppie linee e caratteri html:
|
||||
testo = Regex.Replace(testo, @" ", " ", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"•", " * ", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"<", "<", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"›", " > ", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @">", ">", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"™", "(tm)", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"©", "(c)", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"®", "(r)", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"⁄", "/", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"à", "à", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"è", "è", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"ì", "ì", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"ò", "ò", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"ù", "ù", RegexOptions.IgnoreCase);
|
||||
|
||||
|
||||
testo = Regex.Replace(testo, @"–", "–", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"—", "—", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"‘", "‘", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"’", "’", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"“", "“", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"”", "”", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"…", "…", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"Č", "Č", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"č", "č", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"Ě", "Ě", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"ě", "ě", RegexOptions.IgnoreCase);
|
||||
|
||||
testo = Regex.Replace(testo, @"
", " ", RegexOptions.IgnoreCase);
|
||||
testo = Regex.Replace(testo, @"", " ", RegexOptions.IgnoreCase);
|
||||
|
||||
// // Remove all others. More can be added, see
|
||||
// // http://hotwired.lycos.com/webmonkey/reference/special_characters/
|
||||
// testo = Regex.Replace(testo, @"&(.{2,6});", string.Empty, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
|
||||
|
||||
//// Correggo accenti per formati sbagliati:
|
||||
//while (testo.Contains("Ã ")) { testo = testo.Replace("Ã ", "à"); }
|
||||
//while (testo.Contains("è")) { testo = testo.Replace("è", "è"); }
|
||||
//while (testo.Contains("é")) { testo = testo.Replace("é", "é"); }
|
||||
//while (testo.Contains("ì")) { testo = testo.Replace("ì", "ì"); }
|
||||
//while (testo.Contains("ò")) { testo = testo.Replace("ò", "ò"); }
|
||||
//while (testo.Contains("ù")) { testo = testo.Replace("ù", "ù"); }
|
||||
//while (testo.Contains("’")) { testo = testo.Replace("’", "'"); }
|
||||
// Correggo accenti per formati sbagliati:
|
||||
while (testo.Contains("Ã ")) { testo = testo.Replace("Ã ", "à"); }
|
||||
while (testo.Contains("è")) { testo = testo.Replace("è", "è"); }
|
||||
while (testo.Contains("é")) { testo = testo.Replace("é", "é"); }
|
||||
while (testo.Contains("ì")) { testo = testo.Replace("ì", "ì"); }
|
||||
while (testo.Contains("ò")) { testo = testo.Replace("ò", "ò"); }
|
||||
while (testo.Contains("ù")) { testo = testo.Replace("ù", "ù"); }
|
||||
while (testo.Contains("’")) { testo = testo.Replace("’", "'"); }
|
||||
|
||||
// Correggo scritto:
|
||||
testo = testo.Replace("&egrave", "è");
|
||||
testo = testo.Replace("&", "&");
|
||||
testo = testo.Replace("…", "…");
|
||||
testo = testo.Replace("\r", "");
|
||||
testo = testo.Replace("\r", "\n");
|
||||
while (testo.Contains("\t")) { testo = testo.Replace("\t", " "); }
|
||||
while (testo.Contains("...")) { testo = testo.Replace("...", "…"); }
|
||||
while (testo.Contains("….")) { testo = testo.Replace("….", "…"); }
|
||||
@@ -637,8 +619,6 @@ namespace A69WD {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static bool WriteStyleSheet(string FullFileName) {
|
||||
try {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
@@ -653,6 +633,102 @@ namespace A69WD {
|
||||
|
||||
|
||||
|
||||
public static void Insert_Format_Tags(ref List<string> dst, List<string> items) {
|
||||
try {
|
||||
// // Rimuove duplicati e ordina alfabeticamente
|
||||
// items = items
|
||||
// .OrderBy(s => s) // ordina alfabeticamente
|
||||
// .Distinct() // elimina duplicati
|
||||
// .ToList();
|
||||
if (dst is null) { dst = new List<string>(); }
|
||||
// Ordino ed elimino duplicati
|
||||
items.Sort();
|
||||
string tmp = "";
|
||||
foreach (string item in items) {
|
||||
string it = item.Trim().ToLower();
|
||||
if (tmp != it) {
|
||||
#region switch per formattare il testo
|
||||
switch (it) {
|
||||
case "altro": // Src: Old_Milu
|
||||
dst.Add("Altro");
|
||||
break;
|
||||
case "autoerotismo": // Src: Old_Milu
|
||||
dst.Add("Masturbazione");
|
||||
break;
|
||||
case "bdsm": // Src: A69
|
||||
dst.Add("BDSM");
|
||||
break;
|
||||
case "cuckold": // Src: Old_Milu
|
||||
dst.Add("Cuckold");
|
||||
break;
|
||||
case "dominazione": // Src: Old_Milu
|
||||
dst.Add("Dominazione");
|
||||
break;
|
||||
case "gay": // Src: Old_Milu
|
||||
dst.Add("Gay");
|
||||
break;
|
||||
case "gay & bisex": // Src: A69
|
||||
dst.Add("Bisex");
|
||||
dst.Add("Gay");
|
||||
break;
|
||||
case "incesto": // Src: A69, Old_Milu
|
||||
dst.Add("Incesto");
|
||||
break;
|
||||
case "lesbo": // Src: A69
|
||||
case "saffico": // Src: Old_Milu
|
||||
dst.Add("Lesbo");
|
||||
break;
|
||||
case "lirica": // Src: Old_Milu
|
||||
dst.Add("Lirica");
|
||||
break;
|
||||
case "lui & lei": // Src: A69
|
||||
case "etero": // Src: Old_Milu
|
||||
dst.Add("Etero");
|
||||
break;
|
||||
case "orge": // Src: A69
|
||||
case "orgia": // Src: Old_Milu
|
||||
dst.Add("Orge");
|
||||
break;
|
||||
case "poesia": // Src: Old_Milu
|
||||
dst.Add("Poesia");
|
||||
break;
|
||||
case "prime esperienze": // Src: A69
|
||||
dst.Add("Prime Esperienze");
|
||||
break;
|
||||
case "scambio di coppia": // Src: A69
|
||||
dst.Add("Scambismo");
|
||||
break;
|
||||
case "sensazioni": // Src: Old_Milu
|
||||
dst.Add("Sensazioni");
|
||||
break;
|
||||
case "tradimenti": // Src: A69
|
||||
dst.Add("Tradimenti");
|
||||
break;
|
||||
case "trans": // Src: A69, Old_Milu
|
||||
dst.Add("Trans");
|
||||
break;
|
||||
case "trio": // Src: A69, Old_Milu
|
||||
dst.Add("trio");
|
||||
break;
|
||||
//case "":
|
||||
// dst.Add("");
|
||||
// break;
|
||||
default:
|
||||
dst.Add(item);
|
||||
break;
|
||||
}
|
||||
#endregion
|
||||
tmp = it;
|
||||
}//if
|
||||
}//foreach
|
||||
} catch (Exception ex) {
|
||||
Logger.Error(string.Format("Error Code: {0} - Errore in {1}.{2}: {3}", "ER00040", System.Reflection.MethodInfo.GetCurrentMethod().DeclaringType.FullName, System.Reflection.MethodInfo.GetCurrentMethod().Name, ex.Message));
|
||||
} finally {
|
||||
if (dst.Count == 0) dst.Add("_None_");
|
||||
}
|
||||
}//function
|
||||
|
||||
|
||||
|
||||
} // class Tools
|
||||
|
||||
|
||||
Reference in new issue
Block a user