Advertisement
ivandrofly

SubtitleEdit: RemoveEmptyFontTag

Nov 10th, 2024
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.29 KB | None | 0 0
  1.         private static string RemoveEmptyFontTag(string text)
  2.         {
  3.             var startFontIdx = text.IndexOf("<font ", StringComparison.OrdinalIgnoreCase);
  4.             if (startFontIdx < 0)
  5.             {
  6.                 return text;
  7.             }
  8.  
  9.             // find the first font-close tag after the font-open
  10.             var endFontIdx = text.IndexOf("</font>", startFontIdx + 6, StringComparison.OrdinalIgnoreCase);
  11.             if (endFontIdx < startFontIdx)
  12.             {
  13.                 return text;
  14.             }
  15.            
  16.             var startFontCloseIdx = text.LastIndexOf('>', endFontIdx - 1);
  17.  
  18.              // <font color="#ffff00"></font>
  19.             if (startFontCloseIdx + 1 == endFontIdx)
  20.             {
  21.                 return text.Remove(startFontIdx, (endFontIdx + 7) - startFontIdx);
  22.             }
  23.            
  24.             // <font color="#ffff00"> </font>
  25.             for (int i = startFontCloseIdx + 1; i < endFontIdx; i++)
  26.             {
  27.                 var ch = text[i];
  28.                 if (!(char.IsControl(ch) || char.IsWhiteSpace(ch)))
  29.                 {
  30.                     return text;
  31.                 }
  32.             }
  33.  
  34.             return text.Remove(startFontIdx, (endFontIdx + 7) - startFontIdx)
  35.                 .Insert(startFontIdx, " ");
  36.         }
  37.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement