mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-11-22 11:12:36 +01:00
Refactor tag replacement in HtmlUtil
The revision refactors the replacement of invalid italic tags in the HtmlUtil FixInvalidItalicTags method. The separate string replace statements were replaced with loops that iterate over arrays of predefined invalid tag variations. This change leads to cleaner, more readable, and maintainable code. Signed-off-by: Ivandro Jao <ivandrofly@gmail.com>
This commit is contained in:
parent
40c253a081
commit
cfa0aece78
@ -634,6 +634,14 @@ namespace Nikse.SubtitleEdit.Core.Common
|
||||
return false;
|
||||
}
|
||||
|
||||
private static readonly string[] BeginTagVariations = { "< i >", "< i>", "<i >", "< I >", "< I>", "<I >", "<i<", "<I<", "<I>" };
|
||||
|
||||
private static readonly string[] EndTagVariations =
|
||||
{
|
||||
"< / i >", "< /i>", "</ i>", "< /i >", "</i >", "</ i >",
|
||||
"< / i>", "</I>", "< / I >", "< /I>", "</ I>", "< /I >", "</I >", "</ I >", "< / I>", "</i<", "</I<", "</I>"
|
||||
};
|
||||
|
||||
public static string FixInvalidItalicTags(string input)
|
||||
{
|
||||
var text = input;
|
||||
@ -651,36 +659,15 @@ namespace Nikse.SubtitleEdit.Core.Common
|
||||
|
||||
const string beginTag = "<i>";
|
||||
const string endTag = "</i>";
|
||||
foreach (var beginTagVariation in BeginTagVariations)
|
||||
{
|
||||
text = text.Replace(beginTagVariation, beginTag);
|
||||
}
|
||||
|
||||
text = text.Replace("< i >", beginTag);
|
||||
text = text.Replace("< i>", beginTag);
|
||||
text = text.Replace("<i >", beginTag);
|
||||
text = text.Replace("< I >", beginTag);
|
||||
text = text.Replace("< I>", beginTag);
|
||||
text = text.Replace("<I >", beginTag);
|
||||
text = text.Replace("<i<", beginTag);
|
||||
text = text.Replace("<I<", beginTag);
|
||||
|
||||
text = text.Replace("< / i >", endTag);
|
||||
text = text.Replace("< /i>", endTag);
|
||||
text = text.Replace("</ i>", endTag);
|
||||
text = text.Replace("< /i >", endTag);
|
||||
text = text.Replace("</i >", endTag);
|
||||
text = text.Replace("</ i >", endTag);
|
||||
text = text.Replace("< / i>", endTag);
|
||||
text = text.Replace("</I>", endTag);
|
||||
text = text.Replace("< / I >", endTag);
|
||||
text = text.Replace("< /I>", endTag);
|
||||
text = text.Replace("</ I>", endTag);
|
||||
text = text.Replace("< /I >", endTag);
|
||||
text = text.Replace("</I >", endTag);
|
||||
text = text.Replace("</ I >", endTag);
|
||||
text = text.Replace("< / I>", endTag);
|
||||
text = text.Replace("</i<", endTag);
|
||||
text = text.Replace("</I<", endTag);
|
||||
|
||||
text = text.Replace("<I>", beginTag);
|
||||
text = text.Replace("</I>", endTag);
|
||||
foreach (var endTagVariation in EndTagVariations)
|
||||
{
|
||||
text = text.Replace(endTagVariation, endTag);
|
||||
}
|
||||
|
||||
text = text.Replace("</i> <i>", "_@_");
|
||||
text = text.Replace(" _@_", "_@_");
|
||||
|
Loading…
Reference in New Issue
Block a user