WebMarkupMin.Core.Parsers.HtmlParser.ProcessEmbeddedCode C# (CSharp) Method

ProcessEmbeddedCode() private method

Process a embedded code
private ProcessEmbeddedCode ( ) : void
return void
        private void ProcessEmbeddedCode()
        {
            string content = _innerContext.SourceCode;
            int contentRemainderLength = _innerContext.RemainderLength;

            HtmlTag stackedTag = _tagStack.LastOrDefault();
            if (stackedTag != null)
            {
                string stackedTagName = stackedTag.Name;
                string stackedTagNameInLowercase = stackedTag.NameInLowercase;
                Regex stackedTagRegex = _tagWithEmbeddedRegexCache.GetOrAdd(stackedTagNameInLowercase,
                    key => new Regex(@"([\s\S]*?)</" + Regex.Escape(key) + @"\s*>", RegexOptions.IgnoreCase));

                var stackedTagMatch = stackedTagRegex.Match(content, _innerContext.Position, contentRemainderLength);
                string htmlFragment = stackedTagMatch.Value;
                string code = stackedTagMatch.Groups[1].Value;

                if (_handlers.EmbeddedCode != null)
                {
                    _handlers.EmbeddedCode(_context, code);
                }

                ParseEndTag(stackedTagName, stackedTagNameInLowercase);

                _innerContext.IncreasePosition(htmlFragment.Length);
            }
        }