/** * 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 ) ); } } Vorspack Archives - 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 Default sorting Sort by popularity Sort by average rating Sort by latest Sort by price: low to high Sort by price: high to low Grid List Vorspack Extra Large Duffle Bag for Travel – $19.99 From the brand Welcome to Vorspack Simple, Neat and Practical are the spirits of Vorspack. Vorspack Clear Backpack Vorspack Clear Purse Vorspack Toiltery Bag Vorspack Duffle Bag Vorspack Drawstring Backpack 3 Inches Extra Wide Webbing: Our duffle bags adopts thickened, widened, and extended high-density webbing to the bottom of the bag, which greatly improves the load-bearing capacity of the bag. Also, with a padded fabric handle, it is more comfortable to carry your heavy stuffMulti-purpose: This duffel bag can meet your various needs. Perfect for home storage, long trip, self-driving traveling, camping, and any outdoor activities. It can be used as a gym bag, weekender /overnight bag, traveling bag, laundry storage bag, tent gear bag, checked bag, hospital bag, backup bagsQuality Material & SBS Zippers: Made by thickened smell-less 600D polyester material, which is anti-tear and wear-resistant, it’s durable and heavy-duty for long time use; Also, it has a 2-way smooth SBS zipper with a keyhole, it can be used with locks to improve the safety of your itemsYour Travel Companion: Weight 0.69 lbs, folded size: 8.7*8.7*1.6 inches which makes it easy to carry and store. A great companion at home or on the go, ideal for shopping, house-moving, school carrying, tools organizer, festival decoration storage, and cargo duffel. Tactical duffel bags for men and women 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 ) ); } } Vorspack Archives - 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 Default sorting Sort by popularity Sort by average rating Sort by latest Sort by price: low to high Sort by price: high to low Grid List Vorspack Extra Large Duffle Bag for Travel – $19.99 From the brand Welcome to Vorspack Simple, Neat and Practical are the spirits of Vorspack. Vorspack Clear Backpack Vorspack Clear Purse Vorspack Toiltery Bag Vorspack Duffle Bag Vorspack Drawstring Backpack 3 Inches Extra Wide Webbing: Our duffle bags adopts thickened, widened, and extended high-density webbing to the bottom of the bag, which greatly improves the load-bearing capacity of the bag. Also, with a padded fabric handle, it is more comfortable to carry your heavy stuffMulti-purpose: This duffel bag can meet your various needs. Perfect for home storage, long trip, self-driving traveling, camping, and any outdoor activities. It can be used as a gym bag, weekender /overnight bag, traveling bag, laundry storage bag, tent gear bag, checked bag, hospital bag, backup bagsQuality Material & SBS Zippers: Made by thickened smell-less 600D polyester material, which is anti-tear and wear-resistant, it’s durable and heavy-duty for long time use; Also, it has a 2-way smooth SBS zipper with a keyhole, it can be used with locks to improve the safety of your itemsYour Travel Companion: Weight 0.69 lbs, folded size: 8.7*8.7*1.6 inches which makes it easy to carry and store. A great companion at home or on the go, ideal for shopping, house-moving, school carrying, tools organizer, festival decoration storage, and cargo duffel. Tactical duffel bags for men and women 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
From the brand
Welcome to Vorspack
Simple, Neat and Practical are the spirits of Vorspack.
3 Inches Extra Wide Webbing: Our duffle bags adopts thickened, widened, and extended high-density webbing to the bottom of the bag, which greatly improves the load-bearing capacity of the bag. Also, with a padded fabric handle, it is more comfortable to carry your heavy stuffMulti-purpose: This duffel bag can meet your various needs. Perfect for home storage, long trip, self-driving traveling, camping, and any outdoor activities. It can be used as a gym bag, weekender /overnight bag, traveling bag, laundry storage bag, tent gear bag, checked bag, hospital bag, backup bagsQuality Material & SBS Zippers: Made by thickened smell-less 600D polyester material, which is anti-tear and wear-resistant, it’s durable and heavy-duty for long time use; Also, it has a 2-way smooth SBS zipper with a keyhole, it can be used with locks to improve the safety of your itemsYour Travel Companion: Weight 0.69 lbs, folded size: 8.7*8.7*1.6 inches which makes it easy to carry and store. A great companion at home or on the go, ideal for shopping, house-moving, school carrying, tools organizer, festival decoration storage, and cargo duffel. Tactical duffel bags for men and women