修复ttml解析bug

This commit is contained in:
nilaoda 2022-07-17 17:48:38 +08:00
parent dd4577b4cf
commit 6428d94fa0
1 changed files with 8 additions and 2 deletions

View File

@ -30,7 +30,7 @@ namespace Mp4SubtitleParser
public partial class MP4TtmlUtil
{
[RegexGenerator(">(.+?)<\\/p>")]
[RegexGenerator("<p.*?>(.+?)<\\/p>")]
private static partial Regex LabelFixRegex();
public static bool CheckInit(byte[] data)
@ -184,10 +184,16 @@ namespace Mp4SubtitleParser
{
foreach (Match m in regex.Matches(xmlContentFix))
{
if (!m.Groups[1].Value.StartsWith("<span"))
try
{
new XmlDocument().LoadXml($"<p>{m.Groups[1].Value}</p>");
}
catch (Exception)
{
xmlContentFix = xmlContentFix.Replace(m.Groups[1].Value, System.Web.HttpUtility.HtmlEncode(m.Groups[1].Value));
}
}
}
xmlDoc.LoadXml(xmlContentFix);
var ttNode = xmlDoc.LastChild;
if (nsMgr == null)