/// <summary> /// 将原始内容中的STL实体替换为实际内容 /// </summary> public static void ReplaceStlEntities(StringBuilder parsedBuilder, PageInfo pageInfo, ContextInfo contextInfo) { var stlEntityList = StlParserUtility.GetStlEntityList(parsedBuilder.ToString()); foreach (var stlEntity in stlEntityList) { var startIndex = parsedBuilder.ToString().IndexOf(stlEntity, StringComparison.Ordinal); if (startIndex == -1) { continue; } var resultContent = ParseStlEntity(stlEntity, pageInfo, contextInfo); parsedBuilder.Replace(stlEntity, resultContent, startIndex, stlEntity.Length); } }
/// <summary> /// 将原始内容中的STL实体替换为实际内容 /// </summary> public async Task ReplaceStlEntitiesAsync(StringBuilder parsedBuilder) { var stlEntityList = StlParserUtility.GetStlEntityList(parsedBuilder.ToString()); foreach (var stlEntity in stlEntityList) { var startIndex = parsedBuilder.ToString().IndexOf(stlEntity, StringComparison.Ordinal); if (startIndex == -1) { continue; } var resultContent = await ParseStlEntityAsync(stlEntity); parsedBuilder.Replace(stlEntity, resultContent, startIndex, stlEntity.Length); } }