Class: HtmlBeautifier::HtmlParser

Inherits:
Parser
  • Object
show all
Defined in:
lib/htmlbeautifier/html_parser.rb

Constant Summary collapse

ELEMENT_CONTENT =
%r{ (?:[^<>]|<%.*?%>)* }mx
HTML_VOID_ELEMENTS =
%r{(?:
  area | base | br | col | command | embed | hr | img | input | keygen |
  link | meta | param | source | track | wbr
)}mix

Instance Method Summary collapse

Methods inherited from Parser

debug, debug_block, #map, #scan, #source_line_number, #source_so_far

Constructor Details

#initializeHtmlParser

Returns a new instance of HtmlParser.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/htmlbeautifier/html_parser.rb', line 11

def initialize
  super do |p|
    p.map %r{(<%-?=?)(.*?)(-?%>)}m,
      :embed
    p.map %r{<!--\[.*?\]>}m,
      :open_ie_cc
    p.map %r{<!\[.*?\]-->}m,
      :close_ie_cc
    p.map %r{<!--.*?-->}m,
      :standalone_element
    p.map %r{<!.*?>}m,
      :standalone_element
    p.map %r{(<script#{ELEMENT_CONTENT}>)(.*?)(</script>)}m,
      :foreign_block
    p.map %r{(<style#{ELEMENT_CONTENT}>)(.*?)(</style>)}m,
      :foreign_block
    p.map %r{<#{ELEMENT_CONTENT}/>}m,
      :standalone_element
    p.map %r{<#{HTML_VOID_ELEMENTS}#{ELEMENT_CONTENT}>}m,
      :standalone_element
    p.map %r{</#{ELEMENT_CONTENT}>}m,
      :close_element
    p.map %r{<#{ELEMENT_CONTENT}>}m,
      :open_element
    p.map %r{\s+},
      :whitespace
    p.map %r{[^<]+},
      :text
  end
end