PluginProbe
PDF for WPForms + Drag and Drop Template Builder / trunk
PDF for WPForms + Drag and Drop Template Builder vtrunk
7.2.0 7.1.0 trunk 2.5.0 3.0.0 6.2.1 6.3.1 6.5.0 6.5.1 6.5.2
pdf-for-wpforms / libs / simple_html_dom.php

simple_html_dom.php in PDF for WPForms + Drag and Drop Template Builder trunk, at libs/simple_html_dom.php

156 lines 4.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if (! defined('ABSPATH')) exit; // Exit if accessed directly
3 /**
4 * Website: http://sourceforge.net/projects/simplehtmldom/
5 * Acknowledge: Jose Solorzano (https://sourceforge.net/projects/php-html/)
6 *
7 * Licensed under The MIT License
8 * See the LICENSE file in the project root for more information.
9 *
10 * Authors:
11 * S.C. Chen
12 * John Schlick
13 * Rus Carroll
14 * logmanoriginal
15 *
16 * Contributors:
17 * Yousuke Kumakura
18 * Vadim Voituk
19 * Antcs
20 *
21 * Version Rev. 2.0-RC2 (415)
22 */
23 //phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound
24 if (defined('DEFAULT_TARGET_CHARSET')) {
25 define('\simplehtmldom\DEFAULT_TARGET_CHARSET', DEFAULT_TARGET_CHARSET);
26 }
27
28 if (defined('DEFAULT_BR_TEXT')) {
29 define('\simplehtmldom\DEFAULT_BR_TEXT', DEFAULT_BR_TEXT);
30 }
31
32 if (defined('DEFAULT_SPAN_TEXT')) {
33 define('\simplehtmldom\DEFAULT_SPAN_TEXT', DEFAULT_SPAN_TEXT);
34 }
35
36 if (defined('MAX_FILE_SIZE')) {
37 define('\simplehtmldom\MAX_FILE_SIZE', MAX_FILE_SIZE);
38 }
39
40 include_once 'HtmlDocument.php';
41 include_once 'HtmlNode.php';
42
43 if (!defined('DEFAULT_TARGET_CHARSET')) {
44 define('DEFAULT_TARGET_CHARSET', \simplehtmldom\DEFAULT_TARGET_CHARSET);
45 }
46
47 if (!defined('DEFAULT_BR_TEXT')) {
48 define('DEFAULT_BR_TEXT', \simplehtmldom\DEFAULT_BR_TEXT);
49 }
50
51 if (!defined('DEFAULT_SPAN_TEXT')) {
52 define('DEFAULT_SPAN_TEXT', \simplehtmldom\DEFAULT_SPAN_TEXT);
53 }
54
55 if (!defined('MAX_FILE_SIZE')) {
56 define('MAX_FILE_SIZE', \simplehtmldom\MAX_FILE_SIZE);
57 }
58
59 define('HDOM_TYPE_ELEMENT', \simplehtmldom\HtmlNode::HDOM_TYPE_ELEMENT);
60 define('HDOM_TYPE_COMMENT', \simplehtmldom\HtmlNode::HDOM_TYPE_COMMENT);
61 define('HDOM_TYPE_TEXT', \simplehtmldom\HtmlNode::HDOM_TYPE_TEXT);
62 define('HDOM_TYPE_ROOT', \simplehtmldom\HtmlNode::HDOM_TYPE_ROOT);
63 define('HDOM_TYPE_UNKNOWN', \simplehtmldom\HtmlNode::HDOM_TYPE_UNKNOWN);
64 define('HDOM_QUOTE_DOUBLE', \simplehtmldom\HtmlNode::HDOM_QUOTE_DOUBLE);
65 define('HDOM_QUOTE_SINGLE', \simplehtmldom\HtmlNode::HDOM_QUOTE_SINGLE);
66 define('HDOM_QUOTE_NO', \simplehtmldom\HtmlNode::HDOM_QUOTE_NO);
67 define('HDOM_INFO_BEGIN', \simplehtmldom\HtmlNode::HDOM_INFO_BEGIN);
68 define('HDOM_INFO_END', \simplehtmldom\HtmlNode::HDOM_INFO_END);
69 define('HDOM_INFO_QUOTE', \simplehtmldom\HtmlNode::HDOM_INFO_QUOTE);
70 define('HDOM_INFO_SPACE', \simplehtmldom\HtmlNode::HDOM_INFO_SPACE);
71 define('HDOM_INFO_TEXT', \simplehtmldom\HtmlNode::HDOM_INFO_TEXT);
72 define('HDOM_INFO_INNER', \simplehtmldom\HtmlNode::HDOM_INFO_INNER);
73 define('HDOM_INFO_OUTER', \simplehtmldom\HtmlNode::HDOM_INFO_OUTER);
74 define('HDOM_INFO_ENDSPACE', \simplehtmldom\HtmlNode::HDOM_INFO_ENDSPACE);
75
76 define('HDOM_SMARTY_AS_TEXT', \simplehtmldom\HDOM_SMARTY_AS_TEXT);
77
78 class_alias('\simplehtmldom\HtmlDocument', 'simple_html_dom', true);
79 class_alias('\simplehtmldom\HtmlNode', 'simple_html_dom_node', true);
80
81 function file_get_html( //phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound
82 $url,
83 $use_include_path = false,
84 $context = null,
85 $offset = 0,
86 $maxLen = -1,
87 $lowercase = true,
88 $forceTagsClosed = true,
89 $target_charset = DEFAULT_TARGET_CHARSET,
90 $stripRN = true,
91 $defaultBRText = DEFAULT_BR_TEXT,
92 $defaultSpanText = DEFAULT_SPAN_TEXT
93 ) {
94 if ($maxLen <= 0) {
95 $maxLen = MAX_FILE_SIZE;
96 }
97
98 $dom = new simple_html_dom(
99 null,
100 $lowercase,
101 $forceTagsClosed,
102 $target_charset,
103 $stripRN,
104 $defaultBRText,
105 $defaultSpanText
106 );
107
108 $contents = file_get_contents(
109 $url,
110 $use_include_path,
111 $context,
112 $offset,
113 $maxLen + 1 // Load extra byte for limit check
114 );
115
116 if (empty($contents) || strlen($contents) > $maxLen) {
117 $dom->clear();
118 return false;
119 }
120
121 return $dom->load($contents, $lowercase, $stripRN);
122 }
123
124 function str_get_html( //phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound
125 $str,
126 $lowercase = true,
127 $forceTagsClosed = true,
128 $target_charset = DEFAULT_TARGET_CHARSET,
129 $stripRN = true,
130 $defaultBRText = DEFAULT_BR_TEXT,
131 $defaultSpanText = DEFAULT_SPAN_TEXT
132 ) {
133 $dom = new simple_html_dom(
134 null,
135 $lowercase,
136 $forceTagsClosed,
137 $target_charset,
138 $stripRN,
139 $defaultBRText,
140 $defaultSpanText
141 );
142
143 if (empty($str) || strlen($str) > MAX_FILE_SIZE) {
144 $dom->clear();
145 return false;
146 }
147
148 return $dom->load($str, $lowercase, $stripRN);
149 }
150
151 /** @codeCoverageIgnore */
152 function dump_html_tree($node, $show_attr = true, $deep = 0) //phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound
153 {
154 $node->dump($node);
155 }
156 //phpcs:enable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound