예제 #1
0
        /// <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);
            }
        }
예제 #2
0
        /// <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);
            }
        }