php-general Digest 2 May 2013 21:21:35 -0000 Issue 8215
Topics (messages 320999 through 321000):
Re: Need a tool to minimize HTML before storing in memecache
320999 by: marco.behnke.biz
321000 by: Daevid Vincent
Administrivia:
To subscribe to the digest, e-mail:
php-general-digest-subscr...@lists.php.net
To unsubscribe from the digest, e-mail:
php-general-digest-unsubscr...@lists.php.net
To post to the list, e-mail:
php-gene...@lists.php.net
----------------------------------------------------------------------
--- Begin Message ---
This is because tidy is for optimizing HTML, not for optimizing PHP.
> Daevid Vincent <dae...@daevid.com> hat am 2. Mai 2013 um 02:20 geschrieben:
>
>
> So I took the time to install Tidy extension and wedge it into my code. Now
> there is one thing that is killing me and breaking all my pages.
>
> This is what I WANT the result to be:
>
> <link rel="stylesheet" type="text/css" href="/templates/<?=
> $layout_id ?>/css/styles.css" />
> <link rel="stylesheet" type="text/css" href="/templates/<?=
> $layout_id ?>/css/retina.css" media="only screen and
> (-webkit-min-device-pixel-ratio: 2)" />
>
> Which then 'renders' out to this normally without Tidy:
>
> <link rel="stylesheet" type="text/css"
> href="/templates/2/css/styles.css" />
> <link rel="stylesheet" type="text/css"
> href="/templates/2/css/retina.css" media="only screen and
> (-webkit-min-device-pixel-ratio: 2)" />
>
> This is what Tidy does:
>
> <link rel="stylesheet" type="text/css"
> href="/templates/%3C?=%20$layout_id%20?%3E/css/styles.css">
> <link rel="stylesheet" type="text/css"
> href="/templates/%3C?=%20$layout_id%20?%3E/css/retina.css" media="only
> screen and (-webkit-min-device-pixel-ratio: 2)">
>
> I found ['fix-uri' => false] which gets closer:
>
> <link rel="stylesheet" type="text/css"
> href="/templates/<?= $layout_id ?>/css/styles.css">
> <link rel="stylesheet" type="text/css"
> href="/templates/<?= $layout_id ?>/css/retina.css" media="only screen
> and (-webkit-min-device-pixel-ratio: 2)">
>
> I've tried about every option I can think of. What is the solution to make
> it stop trying to be smarter than me and converting my < and > tags??
>
> //See all parameters available here:
> http://tidy.sourceforge.net/docs/quickref.html
> $tconfig = array(
> //'clean' => true,
> 'hide-comments' => true,
> 'hide-endtags' => true,
> 'drop-proprietary-attributes' => true,
> //'join-classes' => true,
> //'join-styles' => true,
> //'quote-marks' => true,
> 'fix-uri' => false,
> 'numeric-entities' => true,
> 'preserve-entities' => true,
> 'doctype' => 'omit',
> 'tab-size' => 1,
> 'wrap' => 0,
> 'wrap-php' => false,
> 'char-encoding' => 'raw',
> 'input-encoding' => 'raw',
> 'output-encoding' => 'raw',
> 'newline' => 'LF',
> 'tidy-mark' => false,
> 'quiet' => true,
> 'show-errors' => ($this->_debug ? 6 : 0),
> 'show-warnings' => $this->_debug,
> );
>
>
> From: Joseph Moniz [mailto:joseph.mo...@gmail.com]
> Sent: Wednesday, April 17, 2013 2:55 PM
> To: Daevid Vincent
> Cc: php-general General
> Subject: Re: [PHP] Need a tool to minimize HTML before storing in memecache
>
> http://php.net/manual/en/book.tidy.php
>
>
> - Joseph Moniz
> (510) 509-0775 | @josephmoniz <https://twitter.com/josephmoniz> |
> <https://github.com/JosephMoniz> GitHub |
> <http://www.linkedin.com/pub/joseph-moniz/13/949/b54/> LinkedIn | Blog
> <http://josephmoniz.github.io/> | CoderWall
> <https://coderwall.com/josephmoniz>
>
> "Wake up early, Stay up late, Change the world"
>
> On Wed, Apr 17, 2013 at 2:52 PM, Daevid Vincent <dae...@daevid.com> wrote:
> We do a lot with caching and storing in memecached as well as local copies
> so as to not hit the cache pool over the network and we have found some
> great tools to minimize our javascript and our css, and now we'd like to
> compress our HTML in these cache slabs.
>
>
>
> Anyone know of a good tool or even regex magic that I can call from PHP to
> compress/minimize the giant string web page before I store it in the cache?
>
>
>
> It's not quite as simple as stripping white space b/c obviously there are
> spaces between attributes in tags that need to be preserved, but also in the
> words/text on the page. I could strip out newlines I suppose, but then do I
> run into any issues in other ways? In any event, it seems like someone would
> have solved this by now before I go re-inventing the wheel.
>
>
>
> d.
>
--
Marco Behnke
Dipl. Informatiker (FH), SAE Audio Engineer Diploma
Zend Certified Engineer PHP 5.3
Tel.: 0174 / 9722336
e-Mail: ma...@behnke.biz
Softwaretechnik Behnke
Heinrich-Heine-Str. 7D
21218 Seevetal
http://www.behnke.biz
--- End Message ---
--- Begin Message ---
While that may be true for most users, I see no reason that it should limit or
force me to a certain use case given that dynamic pages make up the vast
majority of web pages served.
Secondly, there are 8 billion options in Tidy to configure it, I would be
astonished if they were so short-sighted to not have one to disable converting
< and > to < and > as they do for all sorts of other things like quotes,
ampersands, etc. I just don't know which flag this falls under or what
combination of flags I'm setting that is causing this to happen.
Barring that little snag, it works like a champ.
> -----Original Message-----
> From: ma...@behnke.biz [mailto:ma...@behnke.biz]
> Sent: Thursday, May 02, 2013 4:55 AM
> To: Daevid Vincent; 'php-general General'
> Subject: RE: [PHP] Need a tool to minimize HTML before storing in memecache
>
> This is because tidy is for optimizing HTML, not for optimizing PHP.
>
> > Daevid Vincent <dae...@daevid.com> hat am 2. Mai 2013 um 02:20
> geschrieben:
> >
> >
> > So I took the time to install Tidy extension and wedge it into my code.
> Now
> > there is one thing that is killing me and breaking all my pages.
> >
> > This is what I WANT the result to be:
> >
> > <link rel="stylesheet" type="text/css"
> href="/templates/<?=
> > $layout_id ?>/css/styles.css" />
> > <link rel="stylesheet" type="text/css"
> href="/templates/<?=
> > $layout_id ?>/css/retina.css" media="only screen and
> > (-webkit-min-device-pixel-ratio: 2)" />
> >
> > Which then 'renders' out to this normally without Tidy:
> >
> > <link rel="stylesheet" type="text/css"
> > href="/templates/2/css/styles.css" />
> > <link rel="stylesheet" type="text/css"
> > href="/templates/2/css/retina.css" media="only screen and
> > (-webkit-min-device-pixel-ratio: 2)" />
> >
> > This is what Tidy does:
> >
> > <link rel="stylesheet" type="text/css"
> > href="/templates/%3C?=%20$layout_id%20?%3E/css/styles.css">
> > <link rel="stylesheet" type="text/css"
> > href="/templates/%3C?=%20$layout_id%20?%3E/css/retina.css" media="only
> > screen and (-webkit-min-device-pixel-ratio: 2)">
> >
> > I found ['fix-uri' => false] which gets closer:
> >
> > <link rel="stylesheet" type="text/css"
> > href="/templates/<?= $layout_id ?>/css/styles.css">
> > <link rel="stylesheet" type="text/css"
> > href="/templates/<?= $layout_id ?>/css/retina.css" media="only
> screen
> > and (-webkit-min-device-pixel-ratio: 2)">
> >
> > I've tried about every option I can think of. What is the solution to make
> > it stop trying to be smarter than me and converting my < and > tags??
> >
> > //See all parameters available here:
> > http://tidy.sourceforge.net/docs/quickref.html
> > $tconfig = array(
> > //'clean' => true,
> > 'hide-comments' => true,
> > 'hide-endtags' => true,
> > 'drop-proprietary-attributes' => true,
> > //'join-classes' => true,
> > //'join-styles' => true,
> > //'quote-marks' => true,
> > 'fix-uri' => false,
> > 'numeric-entities' => true,
> > 'preserve-entities' => true,
> > 'doctype' => 'omit',
> > 'tab-size' => 1,
> > 'wrap' => 0,
> > 'wrap-php' => false,
> > 'char-encoding' => 'raw',
> > 'input-encoding' => 'raw',
> > 'output-encoding' => 'raw',
> > 'newline' => 'LF',
> > 'tidy-mark' => false,
> > 'quiet' => true,
> > 'show-errors' => ($this->_debug ? 6 : 0),
> > 'show-warnings' => $this->_debug,
> > );
> >
> >
> > From: Joseph Moniz [mailto:joseph.mo...@gmail.com]
> > Sent: Wednesday, April 17, 2013 2:55 PM
> > To: Daevid Vincent
> > Cc: php-general General
> > Subject: Re: [PHP] Need a tool to minimize HTML before storing in
> memecache
> >
> > http://php.net/manual/en/book.tidy.php
> >
> >
> > - Joseph Moniz
> > (510) 509-0775 | @josephmoniz <https://twitter.com/josephmoniz> |
> > <https://github.com/JosephMoniz> GitHub |
> > <http://www.linkedin.com/pub/joseph-moniz/13/949/b54/> LinkedIn | Blog
> > <http://josephmoniz.github.io/> | CoderWall
> > <https://coderwall.com/josephmoniz>
> >
> > "Wake up early, Stay up late, Change the world"
> >
> > On Wed, Apr 17, 2013 at 2:52 PM, Daevid Vincent <dae...@daevid.com> wrote:
> > We do a lot with caching and storing in memecached as well as local copies
> > so as to not hit the cache pool over the network and we have found some
> > great tools to minimize our javascript and our css, and now we'd like to
> > compress our HTML in these cache slabs.
> >
> >
> >
> > Anyone know of a good tool or even regex magic that I can call from PHP to
> > compress/minimize the giant string web page before I store it in the
> cache?
> >
> >
> >
> > It's not quite as simple as stripping white space b/c obviously there are
> > spaces between attributes in tags that need to be preserved, but also in
> the
> > words/text on the page. I could strip out newlines I suppose, but then do
> I
> > run into any issues in other ways? In any event, it seems like someone
> would
> > have solved this by now before I go re-inventing the wheel.
> >
> >
> >
> > d.
> >
>
> --
> Marco Behnke
> Dipl. Informatiker (FH), SAE Audio Engineer Diploma
> Zend Certified Engineer PHP 5.3
>
> Tel.: 0174 / 9722336
> e-Mail: ma...@behnke.biz
>
> Softwaretechnik Behnke
> Heinrich-Heine-Str. 7D
> 21218 Seevetal
>
> http://www.behnke.biz
--- End Message ---