/** * 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 ) ); } }// Add custom Theme Functions here Prayer Dress for Kids – Pistachio – isdaldoha.com Skip to content Search for: $0.00 0 No products in the cart. Return to shop 0 Cart No products in the cart. Return to shop Home Shop Products Categories Prayer Wear Adults Kids Prayer Mats Gifts Sets About Contact Add to wishlist Home / Prayer Wear / Kids Prayer Dress for Kids – Pistachio $94.50 97 in stock Prayer Dress for Kids - Pistachio quantity Add to cart Buy now United States (US) dollar ($) - USD Bahraini dinar (.د.ب) - BHD Euro (€) - EUR Indian rupee (₹) - INR Kuwaiti dinar (د.ك) - KWD Omani rial (ر.ع.) - OMR Qatari riyal (ر.ق) - QAR Saudi riyal (ر.س) - SAR United Arab Emirates dirham (د.إ) - AED Category: Kids Search for: Home Shop Products Categories Prayer Wear Adults Kids Prayer Mats Gifts Sets About Contact Login / Register Newsletter Login Username or email address *Required Password *Required Remember me Log in Lost your password? Register Email address *Required A link to set a new password will be sent to your email address. Your personal data will be used to support your experience throughout this website, to manage access to your account, and for other purposes described in our privacy policy. Register This site uses cookies to offer you a better browsing experience. By browsing this website, you agree to our use of cookies. Accept
_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 ) ); } }// Add custom Theme Functions here Prayer Dress for Kids – Pistachio – isdaldoha.com Skip to content Search for: $0.00 0 No products in the cart. Return to shop 0 Cart No products in the cart. Return to shop Home Shop Products Categories Prayer Wear Adults Kids Prayer Mats Gifts Sets About Contact Add to wishlist Home / Prayer Wear / Kids Prayer Dress for Kids – Pistachio $94.50 97 in stock Prayer Dress for Kids - Pistachio quantity Add to cart Buy now United States (US) dollar ($) - USD Bahraini dinar (.د.ب) - BHD Euro (€) - EUR Indian rupee (₹) - INR Kuwaiti dinar (د.ك) - KWD Omani rial (ر.ع.) - OMR Qatari riyal (ر.ق) - QAR Saudi riyal (ر.س) - SAR United Arab Emirates dirham (د.إ) - AED Category: Kids Search for: Home Shop Products Categories Prayer Wear Adults Kids Prayer Mats Gifts Sets About Contact Login / Register Newsletter Login Username or email address *Required Password *Required Remember me Log in Lost your password? Register Email address *Required A link to set a new password will be sent to your email address. Your personal data will be used to support your experience throughout this website, to manage access to your account, and for other purposes described in our privacy policy. Register This site uses cookies to offer you a better browsing experience. By browsing this website, you agree to our use of cookies. Accept
No products in the cart.
Return to shop
$94.50
97 in stock
Username or email address *Required
Password *Required
Remember me Log in
Lost your password?
Email address *Required
A link to set a new password will be sent to your email address.
Your personal data will be used to support your experience throughout this website, to manage access to your account, and for other purposes described in our privacy policy.
Register