From b831df31f84b9670930600ab0b82cc10298d1336 Mon Sep 17 00:00:00 2001 From: Vladislav Date: Mon, 5 Sep 2016 15:28:13 +0600 Subject: [PATCH 1/7] Update composer.json --- composer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index c75e0e46..934758de 100644 --- a/composer.json +++ b/composer.json @@ -1,10 +1,10 @@ { - "name": "paquettg/php-html-parser", + "name": "a2design-inc/php-html-parser", "type": "library", "version": "1.7.0", "description": "An HTML DOM parser. It allows you to manipulate HTML. Find tags on an HTML page with selectors just like jQuery.", "keywords": ["html", "dom", "parser"], - "homepage": "https://github.com/paquettg/php-html-parser", + "homepage": "https://a2design-inc/paquettg/php-html-parser", "license": "MIT", "authors": [ { From 31ea9553ec58af458bb8ae03a478936083eb0b35 Mon Sep 17 00:00:00 2001 From: Vladislav Date: Mon, 5 Sep 2016 15:30:08 +0600 Subject: [PATCH 2/7] Updated comments striping - added special option --- src/PHPHtmlParser/Dom.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/PHPHtmlParser/Dom.php b/src/PHPHtmlParser/Dom.php index f3e17ff9..06dcc788 100644 --- a/src/PHPHtmlParser/Dom.php +++ b/src/PHPHtmlParser/Dom.php @@ -373,7 +373,9 @@ protected function clean($str) $str = mb_eregi_replace("", '', $str); // strip out comments - $str = mb_eregi_replace("", '', $str); + if ($this->options->get('removeComments')) { + $str = mb_eregi_replace("", '', $str); + } // strip out cdata $str = mb_eregi_replace("", '', $str); From 45c4f6c97d7d9047706d4ed90bf013575d8375c1 Mon Sep 17 00:00:00 2001 From: Vladislav Bezverkhiy Date: Mon, 5 Sep 2016 15:53:18 +0600 Subject: [PATCH 3/7] Updated comments string stripping --- composer.json | 10 +++++++--- src/PHPHtmlParser/Dom.php | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/composer.json b/composer.json index 934758de..a9e5c03c 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "a2design-inc/php-html-parser", "type": "library", - "version": "1.7.0", + "version": "1.7.2", "description": "An HTML DOM parser. It allows you to manipulate HTML. Find tags on an HTML page with selectors just like jQuery.", "keywords": ["html", "dom", "parser"], "homepage": "https://a2design-inc/paquettg/php-html-parser", @@ -11,10 +11,14 @@ "name": "Gilles Paquette", "email": "paquettg@gmail.com", "homepage": "http://gillespaquette.ca" + }, + { + "name": "Vladislav Bezverkhiy", + "email": "rabbiabramg@gmail.com", } ], "require": { - "php": ">=5.6", + "php": ">=5.4", "paquettg/string-encode": "~0.1.0" }, "require-dev": { @@ -23,7 +27,7 @@ "mockery/mockery": "~0.9.0" }, "autoload": { - "psr-0": { + "psr-0": { "PHPHtmlParser": "src/" } }, diff --git a/src/PHPHtmlParser/Dom.php b/src/PHPHtmlParser/Dom.php index 06dcc788..a1d1c871 100644 --- a/src/PHPHtmlParser/Dom.php +++ b/src/PHPHtmlParser/Dom.php @@ -376,6 +376,7 @@ protected function clean($str) if ($this->options->get('removeComments')) { $str = mb_eregi_replace("", '', $str); } + $str = mb_eregi_replace("", '', $str); // strip out cdata $str = mb_eregi_replace("", '', $str); From 0b6d8813f17fc57bc5948cbd690eef43876d7943 Mon Sep 17 00:00:00 2001 From: Vladislav Bezverkhiy Date: Mon, 5 Sep 2016 15:56:42 +0600 Subject: [PATCH 4/7] Updated composer.json --- composer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index a9e5c03c..c46bcf0b 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "a2design-inc/php-html-parser", "type": "library", - "version": "1.7.2", + "version": "1.7.3", "description": "An HTML DOM parser. It allows you to manipulate HTML. Find tags on an HTML page with selectors just like jQuery.", "keywords": ["html", "dom", "parser"], "homepage": "https://a2design-inc/paquettg/php-html-parser", @@ -14,7 +14,7 @@ }, { "name": "Vladislav Bezverkhiy", - "email": "rabbiabramg@gmail.com", + "email": "rabbiabramg@gmail.com" } ], "require": { From aace72cc1bc67f422bdedd413bfe01809de7d352 Mon Sep 17 00:00:00 2001 From: Vladislav Bezverkhiy Date: Mon, 5 Sep 2016 18:05:27 +0600 Subject: [PATCH 5/7] Updated comment tags parsing --- src/PHPHtmlParser/Dom.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/PHPHtmlParser/Dom.php b/src/PHPHtmlParser/Dom.php index a1d1c871..3e1f95a1 100644 --- a/src/PHPHtmlParser/Dom.php +++ b/src/PHPHtmlParser/Dom.php @@ -88,6 +88,7 @@ class Dom 'base', 'embed', 'spacer', + '!--' ]; /** @@ -506,7 +507,7 @@ protected function parseTag() // attributes while ($this->content->char() != '>' && - $this->content->char() != '/') { + $this->content->char() != '/' && $tag !== '!--') { $space = $this->content->skipByToken('blank', true); if (empty($space)) { $this->content->fastForward(1); From dde4c14baa031ea1b7c5c96afa89f72325d636b1 Mon Sep 17 00:00:00 2001 From: Vladislav Bezverkhiy Date: Mon, 5 Sep 2016 18:06:13 +0600 Subject: [PATCH 6/7] Updated actual version --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index c46bcf0b..cb071bd3 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "a2design-inc/php-html-parser", "type": "library", - "version": "1.7.3", + "version": "1.7.5", "description": "An HTML DOM parser. It allows you to manipulate HTML. Find tags on an HTML page with selectors just like jQuery.", "keywords": ["html", "dom", "parser"], "homepage": "https://a2design-inc/paquettg/php-html-parser", From f94c72df8a35ecc8f7a36dad6090ec65078c4fb8 Mon Sep 17 00:00:00 2001 From: Vladislav Bezverkhiy Date: Tue, 6 Sep 2016 11:11:33 +0600 Subject: [PATCH 7/7] Added posibility to allow smarty/blade tags --- composer.json | 2 +- src/PHPHtmlParser/Dom.php | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/composer.json b/composer.json index cb071bd3..72afdfdc 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "a2design-inc/php-html-parser", "type": "library", - "version": "1.7.5", + "version": "1.7.6", "description": "An HTML DOM parser. It allows you to manipulate HTML. Find tags on an HTML page with selectors just like jQuery.", "keywords": ["html", "dom", "parser"], "homepage": "https://a2design-inc/paquettg/php-html-parser", diff --git a/src/PHPHtmlParser/Dom.php b/src/PHPHtmlParser/Dom.php index 3e1f95a1..34514d13 100644 --- a/src/PHPHtmlParser/Dom.php +++ b/src/PHPHtmlParser/Dom.php @@ -374,7 +374,7 @@ protected function clean($str) $str = mb_eregi_replace("", '', $str); // strip out comments - if ($this->options->get('removeComments')) { + if (!$this->options->get('allowComments')) { $str = mb_eregi_replace("", '', $str); } $str = mb_eregi_replace("", '', $str); @@ -398,7 +398,9 @@ protected function clean($str) $str = mb_eregi_replace("(<\?)(.*?)(\?>)", '', $str); // strip smarty scripts - $str = mb_eregi_replace("(\{\w)(.*?)(\})", '', $str); + if (!$this->options->get('allowBladeTags')) { + $str = mb_eregi_replace("(\{\w)(.*?)(\})", '', $str); + } return $str; }