/** * Compress HTML * * This is a heavy regex-based removal of whitespace, unnecessary comments and * tokens. IE conditional comments are preserved. There are also options to have * STYLE and SCRIPT blocks compressed by callback functions. * * A test suite is available. * * @package Minify * @author Stephen Clay */ namespace LiteSpeed\Lib; defined( 'WPINC' ) || exit; class HTML_MIN { /** * @var string */ protected $_html = ''; /** * @var boolean */ protected $_jsCleanComments = true; protected $_skipComments = array(); /** * "Minify" an HTML page * * @param string $html * * @param array $options * * 'cssMinifier' : (optional) callback function to process content of STYLE * elements. * * 'jsMinifier' : (optional) callback function to process content of SCRIPT * elements. Note: the type attribute is ignored. * * 'xhtml' : (optional boolean) should content be treated as XHTML1.0? If * unset, minify will sniff for an XHTML doctype. * * @return string */ public static function minify( $html, $options = array() ) { $min = new self( $html, $options ); return $min->process(); } /** * Create a minifier object * * @param string $html * * @param array $options * * 'cssMinifier' : (optional) callback function to process content of STYLE * elements. * * 'jsMinifier' : (optional) callback function to process content of SCRIPT * elements. Note: the type attribute is ignored. * * 'jsCleanComments' : (optional) whether to remove HTML comments beginning and end of script block * * 'xhtml' : (optional boolean) should content be treated as XHTML1.0? If * unset, minify will sniff for an XHTML doctype. */ public function __construct( $html, $options = array() ) { $this->_html = str_replace( "\r\n", "\n", trim( $html ) ); if ( isset( $options['xhtml'] ) ) { $this->_isXhtml = (bool) $options['xhtml']; } if ( isset( $options['cssMinifier'] ) ) { $this->_cssMinifier = $options['cssMinifier']; } if ( isset( $options['jsMinifier'] ) ) { $this->_jsMinifier = $options['jsMinifier']; } if ( isset( $options['jsCleanComments'] ) ) { $this->_jsCleanComments = (bool) $options['jsCleanComments']; } if ( isset( $options['skipComments'] ) ) { $this->_skipComments = $options['skipComments']; } } /** * Minify the markeup given in the constructor * * @return string */ public function process() { if ( $this->_isXhtml === null ) { $this->_isXhtml = ( false !== strpos( $this->_html, '_html); // fill placeholders $this->_html = str_replace( array_keys( $this->_placeholders ), array_values( $this->_placeholders ), $this->_html ); // issue 229: multi-pass to catch scripts that didn't get replaced in textareas $this->_html = str_replace( array_keys( $this->_placeholders ), array_values( $this->_placeholders ), $this->_html ); return $this->_html; } /** * From LSCWP 6.2: Changed the function to test for special comments that will be skipped. See: https://github.com/litespeedtech/lscache_wp/pull/622 */ protected function _commentCB( $m ) { // If is IE conditional comment return it. if ( 0 === strpos( $m[1], '[' ) || false !== strpos( $m[1], ' HTML Settings -> HTML Keep comments if ( count( $this->_skipComments ) > 0 ) { foreach ( $this->_skipComments as $comment ) { if ( $comment && strpos( $m[1], $comment ) !== false ) { return $m[0]; } } } // Comment can be removed. return ''; } protected function _reservePlace( $content ) { $placeholder = '%' . $this->_replacementHash . count( $this->_placeholders ) . '%'; $this->_placeholders[ $placeholder ] = $content; return $placeholder; } protected $_isXhtml = null; protected $_replacementHash = null; protected $_placeholders = array(); protected $_cssMinifier = null; protected $_jsMinifier = null; protected function _removePreCB( $m ) { return $this->_reservePlace( "_reservePlace( "\\s*$)/', '', $css ); // remove CDATA section markers $css = $this->_removeCdata( $css ); // minify $minifier = $this->_cssMinifier ? $this->_cssMinifier : 'trim'; $css = call_user_func( $minifier, $css ); return $this->_reservePlace( $this->_needsCdata( $css ) ? "{$openStyle}/**/" : "{$openStyle}{$css}" ); } protected function _removeScriptCB( $m ) { $openScript = "{$ws2}" : "{$ws1}{$openScript}{$js}{$ws2}" ); } protected function _removeCdata( $str ) { return ( false !== strpos( $str, '' ), '', $str ) : $str; } protected function _needsCdata( $str ) { return ( $this->_isXhtml && preg_match( '/(?:[<&]|\\-\\-|\\]\\]>)/', $str ) ); } } WATERFLY Crossbody Sling Backpack Sling Bag Travel Hiking Chest Bag Daypack - Tripzguide Skip to content Home Flights Hotels Car Rentals Taxi Tours Visa Applications Trips Shop Blog MoreExpand Airfare Refunds Bike/Motorcycle Events & Tickets Travel Insurance Yachts SIM Trip.com QEEQ WayAway Facebook Twitter Instagram Toggle Menu Home / Shop / Travel Accessories / WATERFLY Crossbody Sling Backpack Sling Bag Travel Sale! WATERFLY Crossbody Sling Backpack Sling Bag Travel$33.99 Original price was: $33.99.$23.99Current price is: $23.99. Buy Now Category: Travel Accessories Tags: Backpack, Bag, Chest, Crossbody, Daypack, Hiking, Sling, Travel, WATERFLY Description Reviews (0) Description Price: $33.99 - $23.99(as of May 16, 2023 19:50:36 UTC – Details) Reviews There are no reviews yet. Be the first to review “WATERFLY Crossbody Sling Backpack Sling Bag Travel” Cancel replyYour email address will not be published. Required fields are marked *Your rating * Rate… Perfect Good Average Not that bad Very poor Your review *Name * Email * Save my name, email, and website in this browser for the next time I comment. Related products Sale! Foundry by Fit + Fresh, All The Things Tote Bag, L $39.99 Original price was: $39.99.$26.42Current price is: $26.42. Buy NowLoading Done 8 Pack Elastic Sleeves for Leak Proofing Travel, S $7.99 Buy NowLoading Done ETRONIK Travel Bag for Women, Gym Duffel Bag with $39.99 Buy NowLoading Done Sale! Lewis N. Clark Travel Pill Organizer | For Vitamin $17.99 Original price was: $17.99.$13.83Current price is: $13.83. Buy NowLoading Done Home Flights Hotels Car Rentals Taxi Tours Visa Applications Trips Shop Blog MoreToggle child menuExpand Airfare Refunds Bike/Motorcycle Events & Tickets Travel Insurance Yachts SIM Trip.com QEEQ WayAway
_reservePlace( "\\s*$)/', '', $css ); // remove CDATA section markers $css = $this->_removeCdata( $css ); // minify $minifier = $this->_cssMinifier ? $this->_cssMinifier : 'trim'; $css = call_user_func( $minifier, $css ); return $this->_reservePlace( $this->_needsCdata( $css ) ? "{$openStyle}/**/" : "{$openStyle}{$css}" ); } protected function _removeScriptCB( $m ) { $openScript = "{$ws2}" : "{$ws1}{$openScript}{$js}{$ws2}" ); } protected function _removeCdata( $str ) { return ( false !== strpos( $str, '' ), '', $str ) : $str; } protected function _needsCdata( $str ) { return ( $this->_isXhtml && preg_match( '/(?:[<&]|\\-\\-|\\]\\]>)/', $str ) ); } } WATERFLY Crossbody Sling Backpack Sling Bag Travel Hiking Chest Bag Daypack - Tripzguide Skip to content Home Flights Hotels Car Rentals Taxi Tours Visa Applications Trips Shop Blog MoreExpand Airfare Refunds Bike/Motorcycle Events & Tickets Travel Insurance Yachts SIM Trip.com QEEQ WayAway Facebook Twitter Instagram Toggle Menu Home / Shop / Travel Accessories / WATERFLY Crossbody Sling Backpack Sling Bag Travel Sale! WATERFLY Crossbody Sling Backpack Sling Bag Travel$33.99 Original price was: $33.99.$23.99Current price is: $23.99. Buy Now Category: Travel Accessories Tags: Backpack, Bag, Chest, Crossbody, Daypack, Hiking, Sling, Travel, WATERFLY Description Reviews (0) Description Price: $33.99 - $23.99(as of May 16, 2023 19:50:36 UTC – Details) Reviews There are no reviews yet. Be the first to review “WATERFLY Crossbody Sling Backpack Sling Bag Travel” Cancel replyYour email address will not be published. Required fields are marked *Your rating * Rate… Perfect Good Average Not that bad Very poor Your review *Name * Email * Save my name, email, and website in this browser for the next time I comment. Related products Sale! Foundry by Fit + Fresh, All The Things Tote Bag, L $39.99 Original price was: $39.99.$26.42Current price is: $26.42. Buy NowLoading Done 8 Pack Elastic Sleeves for Leak Proofing Travel, S $7.99 Buy NowLoading Done ETRONIK Travel Bag for Women, Gym Duffel Bag with $39.99 Buy NowLoading Done Sale! Lewis N. Clark Travel Pill Organizer | For Vitamin $17.99 Original price was: $17.99.$13.83Current price is: $13.83. Buy NowLoading Done Home Flights Hotels Car Rentals Taxi Tours Visa Applications Trips Shop Blog MoreToggle child menuExpand Airfare Refunds Bike/Motorcycle Events & Tickets Travel Insurance Yachts SIM Trip.com QEEQ WayAway
$33.99 Original price was: $33.99.$23.99Current price is: $23.99.
Price: $33.99 - $23.99(as of May 16, 2023 19:50:36 UTC – Details)
There are no reviews yet.
Your email address will not be published. Required fields are marked *
Your review *
Name *
Email *
Save my name, email, and website in this browser for the next time I comment.