@@ -15,7 +15,7 @@ discard block |
||
15 | 15 | HTML; |
16 | 16 | |
17 | 17 | $html = HtmlDomParser::str_get_html($str); |
18 | -echo $html->find('div div div', 0)->innertext . '<br>'; // result: "ok" |
|
18 | +echo $html->find('div div div', 0)->innertext.'<br>'; // result: "ok" |
|
19 | 19 | |
20 | 20 | // ----------------------------------------------------------------------------- |
21 | 21 | // nested selector |
@@ -33,7 +33,7 @@ discard block |
||
33 | 33 | $html = HtmlDomParser::str_get_html($str); |
34 | 34 | foreach ($html->find('ul') as $ul) { |
35 | 35 | foreach ($ul->find('li') as $li) { |
36 | - echo $li->innertext . '<br>'; |
|
36 | + echo $li->innertext.'<br>'; |
|
37 | 37 | } |
38 | 38 | } |
39 | 39 | |
@@ -50,8 +50,8 @@ discard block |
||
50 | 50 | $html = HtmlDomParser::str_get_html($str); |
51 | 51 | foreach ($html->find('input[type=checkbox]') as $checkbox) { |
52 | 52 | if ($checkbox->checked) { |
53 | - echo $checkbox->name . ' is checked<br>'; |
|
53 | + echo $checkbox->name.' is checked<br>'; |
|
54 | 54 | } else { |
55 | - echo $checkbox->name . ' is not checked<br>'; |
|
55 | + echo $checkbox->name.' is not checked<br>'; |
|
56 | 56 | } |
57 | 57 | } |
@@ -9,36 +9,36 @@ |
||
9 | 9 | |
10 | 10 | // find all link |
11 | 11 | foreach ($html->find('a') as $e) { |
12 | - echo $e->href . '<br>'; |
|
12 | + echo $e->href.'<br>'; |
|
13 | 13 | } |
14 | 14 | |
15 | 15 | // find all image |
16 | 16 | foreach ($html->find('img') as $e) { |
17 | - echo $e->src . '<br>'; |
|
17 | + echo $e->src.'<br>'; |
|
18 | 18 | } |
19 | 19 | |
20 | 20 | // find all image with full tag |
21 | 21 | foreach ($html->find('img') as $e) { |
22 | - echo $e->outertext . '<br>'; |
|
22 | + echo $e->outertext.'<br>'; |
|
23 | 23 | } |
24 | 24 | |
25 | 25 | // find all div tags with id=gbar |
26 | 26 | foreach ($html->find('div#gbar') as $e) { |
27 | - echo $e->innertext . '<br>'; |
|
27 | + echo $e->innertext.'<br>'; |
|
28 | 28 | } |
29 | 29 | |
30 | 30 | // find all span tags with class=gb1 |
31 | 31 | foreach ($html->find('span.gb1') as $e) { |
32 | - echo $e->outertext . '<br>'; |
|
32 | + echo $e->outertext.'<br>'; |
|
33 | 33 | } |
34 | 34 | |
35 | 35 | // find all td tags with attribite align=center |
36 | 36 | foreach ($html->find('td[align=center]') as $e) { |
37 | - echo $e->innertext . '<br>'; |
|
37 | + echo $e->innertext.'<br>'; |
|
38 | 38 | } |
39 | 39 | |
40 | 40 | // extract text from table |
41 | -echo $html->find('td[align="center"]', 1)->plaintext . '<br><hr>'; |
|
41 | +echo $html->find('td[align="center"]', 1)->plaintext.'<br><hr>'; |
|
42 | 42 | |
43 | 43 | // extract text from HTML |
44 | 44 | echo $html->plaintext; |
@@ -535,10 +535,10 @@ |
||
535 | 535 | '/(?<start>.*)<(?<element_start>[a-z]+)(?<element_start_addon> [^>]*)?>(?<value>.*?)<\/(?<element_end>\2)>(?<end>.*)/sui', |
536 | 536 | static function ($matches) { |
537 | 537 | return $matches['start'] . |
538 | - '°lt_simple_html_dom__voku_°' . $matches['element_start'] . $matches['element_start_addon'] . '°gt_simple_html_dom__voku_°' . |
|
539 | - $matches['value'] . |
|
540 | - '°lt/_simple_html_dom__voku_°' . $matches['element_end'] . '°gt_simple_html_dom__voku_°' . |
|
541 | - $matches['end']; |
|
538 | + '°lt_simple_html_dom__voku_°' . $matches['element_start'] . $matches['element_start_addon'] . '°gt_simple_html_dom__voku_°' . |
|
539 | + $matches['value'] . |
|
540 | + '°lt/_simple_html_dom__voku_°' . $matches['element_end'] . '°gt_simple_html_dom__voku_°' . |
|
541 | + $matches['end']; |
|
542 | 542 | }, |
543 | 543 | $html |
544 | 544 | ); |
@@ -126,7 +126,7 @@ discard block |
||
126 | 126 | return \call_user_func_array([$this, self::$functionAliases[$name]], $arguments); |
127 | 127 | } |
128 | 128 | |
129 | - throw new \BadMethodCallException('Method does not exist: ' . $name); |
|
129 | + throw new \BadMethodCallException('Method does not exist: '.$name); |
|
130 | 130 | } |
131 | 131 | |
132 | 132 | /** |
@@ -294,7 +294,7 @@ discard block |
||
294 | 294 | || |
295 | 295 | $this->keepBrokenHtml |
296 | 296 | ) { |
297 | - $html = '<' . self::$domHtmlWrapperHelper . '>' . $html . '</' . self::$domHtmlWrapperHelper . '>'; |
|
297 | + $html = '<'.self::$domHtmlWrapperHelper.'>'.$html.'</'.self::$domHtmlWrapperHelper.'>'; |
|
298 | 298 | } |
299 | 299 | |
300 | 300 | $html = self::replaceToPreserveHtmlEntities($html); |
@@ -316,7 +316,7 @@ discard block |
||
316 | 316 | /** @noinspection StringFragmentMisplacedInspection */ |
317 | 317 | if (\stripos('<?xml', $html) !== 0) { |
318 | 318 | $xmlHackUsed = true; |
319 | - $html = '<?xml encoding="' . $this->getEncoding() . '" ?>' . $html; |
|
319 | + $html = '<?xml encoding="'.$this->getEncoding().'" ?>'.$html; |
|
320 | 320 | } |
321 | 321 | |
322 | 322 | $this->document->loadHTML($html, $optionsXml); |
@@ -815,11 +815,11 @@ discard block |
||
815 | 815 | |
816 | 816 | $html = (string) \preg_replace_callback( |
817 | 817 | '/(?<start>.*)<(?<element_start>[a-z]+)(?<element_start_addon> [^>]*)?>(?<value>.*?)<\/(?<element_end>\2)>(?<end>.*)/sui', |
818 | - static function ($matches) { |
|
819 | - return $matches['start'] . |
|
820 | - '°lt_simple_html_dom__voku_°' . $matches['element_start'] . $matches['element_start_addon'] . '°gt_simple_html_dom__voku_°' . |
|
821 | - $matches['value'] . |
|
822 | - '°lt/_simple_html_dom__voku_°' . $matches['element_end'] . '°gt_simple_html_dom__voku_°' . |
|
818 | + static function($matches) { |
|
819 | + return $matches['start']. |
|
820 | + '°lt_simple_html_dom__voku_°'.$matches['element_start'].$matches['element_start_addon'].'°gt_simple_html_dom__voku_°'. |
|
821 | + $matches['value']. |
|
822 | + '°lt/_simple_html_dom__voku_°'.$matches['element_end'].'°gt_simple_html_dom__voku_°'. |
|
823 | 823 | $matches['end']; |
824 | 824 | }, |
825 | 825 | $html |
@@ -831,7 +831,7 @@ discard block |
||
831 | 831 | |
832 | 832 | $html = (string) \preg_replace_callback( |
833 | 833 | '/(?<start>[^<]*)?(?<broken>(?:(?:<\/\w+(?:\s+\w+=\\"[^\"]+\\")*+)(?:[^<]+)>)+)(?<end>.*)/u', |
834 | - static function ($matches) { |
|
834 | + static function($matches) { |
|
835 | 835 | $matches['broken'] = \str_replace( |
836 | 836 | ['°lt/_simple_html_dom__voku_°', '°lt_simple_html_dom__voku_°', '°gt_simple_html_dom__voku_°'], |
837 | 837 | ['</', '<', '>'], |
@@ -839,9 +839,9 @@ discard block |
||
839 | 839 | ); |
840 | 840 | |
841 | 841 | self::$domBrokenReplaceHelper['orig'][] = $matches['broken']; |
842 | - self::$domBrokenReplaceHelper['tmp'][] = $matchesHash = self::$domHtmlBrokenHtmlHelper . \crc32($matches['broken']); |
|
842 | + self::$domBrokenReplaceHelper['tmp'][] = $matchesHash = self::$domHtmlBrokenHtmlHelper.\crc32($matches['broken']); |
|
843 | 843 | |
844 | - return $matches['start'] . $matchesHash . $matches['end']; |
|
844 | + return $matches['start'].$matchesHash.$matches['end']; |
|
845 | 845 | }, |
846 | 846 | $html |
847 | 847 | ); |
@@ -862,7 +862,7 @@ discard block |
||
862 | 862 | // regEx for e.g.: [<script id="elements-image-1" type="text/html">...</script>] |
863 | 863 | $html = (string) \preg_replace_callback( |
864 | 864 | '/(?<start>((?:<script) [^>]*type=(?:["\'])?(?:text\/html|text\/x-custom-template)+(?:[^>]*)>))(?<innerContent>.*)(?<end><\/script>)/isU', |
865 | - static function ($matches) { |
|
865 | + static function($matches) { |
|
866 | 866 | if ( |
867 | 867 | \strpos($matches['innerContent'], '+') === false |
868 | 868 | && |
@@ -875,18 +875,18 @@ discard block |
||
875 | 875 | // remove the html5 fallback |
876 | 876 | $matches[0] = \str_replace('<\/', '</', $matches[0]); |
877 | 877 | |
878 | - $specialNonScript = '<' . self::$domHtmlSpecialScriptHelper . \substr($matches[0], \strlen('<script')); |
|
878 | + $specialNonScript = '<'.self::$domHtmlSpecialScriptHelper.\substr($matches[0], \strlen('<script')); |
|
879 | 879 | |
880 | - return \substr($specialNonScript, 0, -\strlen('</script>')) . '</' . self::$domHtmlSpecialScriptHelper . '>'; |
|
880 | + return \substr($specialNonScript, 0, -\strlen('</script>')).'</'.self::$domHtmlSpecialScriptHelper.'>'; |
|
881 | 881 | } |
882 | 882 | |
883 | 883 | // remove the html5 fallback |
884 | 884 | $matches['innerContent'] = \str_replace('<\/', '</', $matches['innerContent']); |
885 | 885 | |
886 | 886 | self::$domBrokenReplaceHelper['orig'][] = $matches['innerContent']; |
887 | - self::$domBrokenReplaceHelper['tmp'][] = $matchesHash = '' . self::$domHtmlBrokenHtmlHelper . '' . \crc32($matches['innerContent']); |
|
887 | + self::$domBrokenReplaceHelper['tmp'][] = $matchesHash = ''.self::$domHtmlBrokenHtmlHelper.''.\crc32($matches['innerContent']); |
|
888 | 888 | |
889 | - return $matches['start'] . $matchesHash . $matches['end']; |
|
889 | + return $matches['start'].$matchesHash.$matches['end']; |
|
890 | 890 | }, |
891 | 891 | $html |
892 | 892 | ); |
@@ -97,7 +97,7 @@ discard block |
||
97 | 97 | /** |
98 | 98 | * Returns the first child of node. |
99 | 99 | * |
100 | - * @return SimpleHtmlDomInterface|null |
|
100 | + * @return null|SimpleHtmlDom |
|
101 | 101 | */ |
102 | 102 | public function firstChild() |
103 | 103 | { |
@@ -331,7 +331,7 @@ discard block |
||
331 | 331 | /** |
332 | 332 | * Returns the last child of node. |
333 | 333 | * |
334 | - * @return SimpleHtmlDomInterface|null |
|
334 | + * @return null|SimpleHtmlDom |
|
335 | 335 | */ |
336 | 336 | public function lastChild() |
337 | 337 | { |
@@ -348,7 +348,7 @@ discard block |
||
348 | 348 | /** |
349 | 349 | * Returns the next sibling of node. |
350 | 350 | * |
351 | - * @return SimpleHtmlDomInterface|null |
|
351 | + * @return null|SimpleHtmlDom |
|
352 | 352 | */ |
353 | 353 | public function nextSibling() |
354 | 354 | { |
@@ -387,7 +387,7 @@ discard block |
||
387 | 387 | /** |
388 | 388 | * Returns the previous sibling of node. |
389 | 389 | * |
390 | - * @return SimpleHtmlDomInterface|null |
|
390 | + * @return null|SimpleHtmlDom |
|
391 | 391 | */ |
392 | 392 | public function previousSibling() |
393 | 393 | { |
@@ -417,8 +417,8 @@ discard block |
||
417 | 417 | $tmpStr = $this->normalizeStringForComparision($string); |
418 | 418 | if ($tmpDomString !== $tmpStr) { |
419 | 419 | throw new \RuntimeException( |
420 | - 'Not valid HTML fragment!' . "\n" . |
|
421 | - $tmpDomString . "\n" . |
|
420 | + 'Not valid HTML fragment!'."\n". |
|
421 | + $tmpDomString."\n". |
|
422 | 422 | $tmpStr |
423 | 423 | ); |
424 | 424 | } |
@@ -490,8 +490,8 @@ discard block |
||
490 | 490 | $tmpStr = $this->normalizeStringForComparision($string); |
491 | 491 | if ($tmpDomOuterTextString !== $tmpStr) { |
492 | 492 | throw new \RuntimeException( |
493 | - 'Not valid HTML fragment!' . "\n" |
|
494 | - . $tmpDomOuterTextString . "\n" . |
|
493 | + 'Not valid HTML fragment!'."\n" |
|
494 | + . $tmpDomOuterTextString."\n". |
|
495 | 495 | $tmpStr |
496 | 496 | ); |
497 | 497 | } |
@@ -375,7 +375,7 @@ discard block |
||
375 | 375 | /** |
376 | 376 | * Returns the first child of node. |
377 | 377 | * |
378 | - * @return SimpleXmlDomInterface|null |
|
378 | + * @return null|SimpleXmlDom |
|
379 | 379 | */ |
380 | 380 | public function firstChild() |
381 | 381 | { |
@@ -533,7 +533,7 @@ discard block |
||
533 | 533 | /** |
534 | 534 | * Returns the last child of node. |
535 | 535 | * |
536 | - * @return SimpleXmlDomInterface|null |
|
536 | + * @return null|SimpleXmlDom |
|
537 | 537 | */ |
538 | 538 | public function lastChild() |
539 | 539 | { |
@@ -550,7 +550,7 @@ discard block |
||
550 | 550 | /** |
551 | 551 | * Returns the next sibling of node. |
552 | 552 | * |
553 | - * @return SimpleXmlDomInterface|null |
|
553 | + * @return null|SimpleXmlDom |
|
554 | 554 | */ |
555 | 555 | public function nextSibling() |
556 | 556 | { |
@@ -577,7 +577,7 @@ discard block |
||
577 | 577 | /** |
578 | 578 | * Returns the previous sibling of node. |
579 | 579 | * |
580 | - * @return SimpleXmlDomInterface|null |
|
580 | + * @return null|SimpleXmlDom |
|
581 | 581 | */ |
582 | 582 | public function previousSibling() |
583 | 583 | { |
@@ -417,8 +417,8 @@ discard block |
||
417 | 417 | $tmpStr = $this->normalizeStringForComparision($string); |
418 | 418 | if ($tmpDomString !== $tmpStr) { |
419 | 419 | throw new \RuntimeException( |
420 | - 'Not valid HTML fragment!' . "\n" . |
|
421 | - $tmpDomString . "\n" . |
|
420 | + 'Not valid HTML fragment!'."\n". |
|
421 | + $tmpDomString."\n". |
|
422 | 422 | $tmpStr |
423 | 423 | ); |
424 | 424 | } |
@@ -490,8 +490,8 @@ discard block |
||
490 | 490 | $tmpStr = $this->normalizeStringForComparision($string); |
491 | 491 | if ($tmpDomOuterTextString !== $tmpStr) { |
492 | 492 | throw new \RuntimeException( |
493 | - 'Not valid HTML fragment!' . "\n" |
|
494 | - . $tmpDomOuterTextString . "\n" . |
|
493 | + 'Not valid HTML fragment!'."\n" |
|
494 | + . $tmpDomOuterTextString."\n". |
|
495 | 495 | $tmpStr |
496 | 496 | ); |
497 | 497 | } |
@@ -151,7 +151,7 @@ |
||
151 | 151 | /** @noinspection StringFragmentMisplacedInspection */ |
152 | 152 | if (\stripos('<?xml', $xml) !== 0) { |
153 | 153 | $xmlHackUsed = true; |
154 | - $xml = '<?xml encoding="' . $this->getEncoding() . '" ?>' . $xml; |
|
154 | + $xml = '<?xml encoding="'.$this->getEncoding().'" ?>'.$xml; |
|
155 | 155 | } |
156 | 156 | |
157 | 157 | $this->document->loadXML($xml, $optionsXml); |
@@ -83,7 +83,7 @@ discard block |
||
83 | 83 | return \call_user_func_array([$this, self::$functionAliases[$name]], $arguments); |
84 | 84 | } |
85 | 85 | |
86 | - throw new \BadMethodCallException('Method does not exist: ' . $name); |
|
86 | + throw new \BadMethodCallException('Method does not exist: '.$name); |
|
87 | 87 | } |
88 | 88 | |
89 | 89 | /** |
@@ -389,12 +389,12 @@ discard block |
||
389 | 389 | $regExSpecialScript = '/<(script)(?<attr>[^>]*)>(?<content>.*)<\/\1>/isU'; |
390 | 390 | $htmlTmp = \preg_replace_callback( |
391 | 391 | $regExSpecialScript, |
392 | - static function ($scripts) { |
|
392 | + static function($scripts) { |
|
393 | 393 | if (empty($scripts['content'])) { |
394 | 394 | return $scripts[0]; |
395 | 395 | } |
396 | 396 | |
397 | - return '<script' . $scripts['attr'] . '>' . \str_replace('</', '<\/', $scripts['content']) . '</script>'; |
|
397 | + return '<script'.$scripts['attr'].'>'.\str_replace('</', '<\/', $scripts['content']).'</script>'; |
|
398 | 398 | }, |
399 | 399 | $html |
400 | 400 | ); |
@@ -423,14 +423,14 @@ discard block |
||
423 | 423 | self::$domReplaceHelper['orig'] |
424 | 424 | ); |
425 | 425 | |
426 | - $DOM_REPLACE__HELPER_CACHE['tmp']['html_wrapper__start'] = '<' . self::$domHtmlWrapperHelper . '>'; |
|
427 | - $DOM_REPLACE__HELPER_CACHE['tmp']['html_wrapper__end'] = '</' . self::$domHtmlWrapperHelper . '>'; |
|
426 | + $DOM_REPLACE__HELPER_CACHE['tmp']['html_wrapper__start'] = '<'.self::$domHtmlWrapperHelper.'>'; |
|
427 | + $DOM_REPLACE__HELPER_CACHE['tmp']['html_wrapper__end'] = '</'.self::$domHtmlWrapperHelper.'>'; |
|
428 | 428 | |
429 | 429 | $DOM_REPLACE__HELPER_CACHE['orig']['html_wrapper__start'] = ''; |
430 | 430 | $DOM_REPLACE__HELPER_CACHE['orig']['html_wrapper__end'] = ''; |
431 | 431 | |
432 | - $DOM_REPLACE__HELPER_CACHE['tmp']['html_special_script__start'] = '<' . self::$domHtmlSpecialScriptHelper; |
|
433 | - $DOM_REPLACE__HELPER_CACHE['tmp']['html_special_script__end'] = '</' . self::$domHtmlSpecialScriptHelper . '>'; |
|
432 | + $DOM_REPLACE__HELPER_CACHE['tmp']['html_special_script__start'] = '<'.self::$domHtmlSpecialScriptHelper; |
|
433 | + $DOM_REPLACE__HELPER_CACHE['tmp']['html_special_script__end'] = '</'.self::$domHtmlSpecialScriptHelper.'>'; |
|
434 | 434 | |
435 | 435 | $DOM_REPLACE__HELPER_CACHE['orig']['html_special_script__start'] = '<script'; |
436 | 436 | $DOM_REPLACE__HELPER_CACHE['orig']['html_special_script__end'] = '</script>'; |
@@ -185,6 +185,9 @@ |
||
185 | 185 | $this->removeAttribute($name); |
186 | 186 | } |
187 | 187 | |
188 | + /** |
|
189 | + * @param integer $idx |
|
190 | + */ |
|
188 | 191 | abstract public function find(string $selector, $idx = null); |
189 | 192 | |
190 | 193 | abstract public function getAllAttributes(); |
@@ -65,7 +65,7 @@ |
||
65 | 65 | return (string) $this; |
66 | 66 | } |
67 | 67 | |
68 | - throw new \InvalidArgumentException('Undefined property: $' . $name); |
|
68 | + throw new \InvalidArgumentException('Undefined property: $'.$name); |
|
69 | 69 | } |
70 | 70 | |
71 | 71 | /** |