# File lib/bluecloth.rb, line 329
        def hide_html_blocks( str, rs )
                @log.debug "Hiding HTML blocks in %p" % str

                # Tokenizer proc to pass to gsub
                tokenize = lambda {|match|
                        key = Digest::MD5::hexdigest( match )
                        rs.html_blocks[ key ] = match
                        @log.debug "Replacing %p with %p" % [ match, key ]
                        "\n\n#{key}\n\n"
                }

                rval = str.dup

                @log.debug "Finding blocks with the strict regex..."
                rval.gsub!( StrictBlockRegex, &tokenize )

                @log.debug "Finding blocks with the loose regex..."
                rval.gsub!( LooseBlockRegex, &tokenize )

                @log.debug "Finding hrules..."
                rval.gsub!( HruleBlockRegex ) {|match| $1 + tokenize[$2] }

                return rval
        end