検索
ホームページバックエンド開発PHPチュートリアルhtml/js/Cssを簡単に圧縮するPHP圧縮HTML関数と注意点_PHPチュートリアル
html/js/Cssを簡単に圧縮するPHP圧縮HTML関数と注意点_PHPチュートリアルJul 21, 2016 pm 03:13 PM
csshtmlphp関数追加圧縮どうやって成し遂げる改善する予防ウェブページ簡単

HTMLを圧縮する理由
Webページの読み込み速度を改善する方法とHTMLページを最適化する方法は、Webサイト構築スキルを向上させたいすべてのWebマスターが考えたことがある問題です。実際、最適化する方法はまだたくさんあります。ウェブページ。

一部の子供たちは、higrid に HTML を圧縮する方法、つまり、実行前にすべての html、js、css を 1 行に圧縮し、コメント マーク、改行、スペース、タブなどを削除できるかどうかを尋ねました。この直接的な利点は、HTML ページのサイズが削減され、フロントエンドの読み込み速度が向上することです。多くの人は gzip が有効になっていると考えていますが、現在の HTML は動的であり、ブラウザのキャッシュを使用しないため、一般に HTML に対して gzip 圧縮を有効にすることはまれです。gzip が有効になっている場合、各リクエストを圧縮する必要があり、消費量が増加します。リソースの場合、js と css は両方ともキャッシュを使用するため、js と css に対して gzip を有効にすることをお勧めします。そして、誰もが圧縮をフィルタリングするために多くのソフトウェアを使用していますが、オンラインの js/css/html 圧縮ツールもあり、Higrid はそれが非常に面倒で可読性が低いと考えています。 Higrid は、圧縮関数を関数にすると、開発者には圧縮されていない状態が表示されると考えていますが、訪問者がアクセスすると、サーバー側プログラムが HTML ページを圧縮し、コメント マーク、改行、スペース、タブをクリアするまで待機します。 htmlのサイズを減らすという目的を達成します。 higrid.net に頻繁にアクセスする場合は、右クリックして HTML ソース コードを表示すると、この記事の HTML ソース コードが圧縮されていることがわかります。 higrid.net が提供する無料のコンテンツ管理システムを含め、出力は空白、改行、タブが削除された圧縮 html になります。ただし、higrid.net にはいくつかの例外があります。つまり、higrid.net では主にオンライン テーブル、オンライン グラフィックス (jquery デモを含む) を推奨しています。訪問者の便宜のため、圧縮は有効になっていません。

したがって、Higrid は、HTML を圧縮することの最大の利点は、一度関数を作成しておけば、将来必要になったときにすべてのプログラムで呼び出すことができることであると個人的に感じています。追加の開発作業を追加せずに使用できます。今日はhigridが私が個人的に便利だと思う機能をいくつか紹介しますので、ぜひ試してみてください。

phpを使用してHTMLを圧縮しますhigridはphpに興味があるため、HTMLを圧縮するためにphpを使用します。もちろん、たとえばaspを使用してHTMLを圧縮する場合も原理は同じです。 。

higrid は、HTML を圧縮する関数を PHP の関数に記述します。実際、このような PHP 圧縮関数はインターネット上にたくさんあります。Baidu や Google で検索してみてください。特に JS や CSS を圧縮する場合にはあまり役に立ちません。主な理由は、圧縮コメントやその他の側面の違いが問題を引き起こすことです。 まずこの関数を見てみましょう:

コードをコピーします コードは次のとおりです:
/**
* HTML を圧縮: 改行をクリア、タブをクリア、コメントマークを削除
* @param $string
* @return COMPLEX $string
**/
function compress_html($string){
$string=str_replace("rn" ,'',$string );//改行文字をクリア
$string=str_replace("n",'',$string);//改行文字をクリア
$string=str_replace("t",'',$string );//システムテーブルシンボルをクリア
$pattern=array(
"/> *([^ ]*) *",//コメントマークを削除
"/[s]+/",
" //",
"/" /",
"/ "/",
"'/*[^*]**/'"
);
$replace=array (
" >\1" ",
"",
""",
""",
""
return preg_replace($pattern, $replace, $string); );
}


phpを使ってHTMLを圧縮する時の注意点
phpを使ってHTMを圧縮する実装方法は主に正規表現を使った検索と置換です。 HTML を圧縮するときは、主に次の点に注意する必要があります:
1. HTML ドキュメントでは、複数の空白文字は 1 つの空白文字と同等です。つまり、改行などの空白文字の削除は安全ではなく、一部の要素のスタイルに違いが生じる可能性があります。
2.html には pre があり、これはフォーマット済みテキストを意味します。その中の空白は削除できないため、pre タグと textarea タグ内のコンテンツ形式は保持する必要があり、圧縮することはできません。
3. HTML には IE の条件付きコメントが含まれる場合があります。これらの条件付きコメントはドキュメント ロジックの一部であり、削除できません。したがって、HTML コメントを削除する場合、次のような一部のコメントは削除できません。
4. 埋め込み JS でコメントを圧縮する場合は、次のようなコメント記号が文字列に含まれる可能性があるため注意してください。 var url = "http:// www. higrid.net"; // 前の // はコメントではありません
5. 動的ページの場合、HTML 圧縮によりサーバーの CPU 負荷が増加する可能性もあり、これは利益よりも有害です


PHP 圧縮 HTML 関数コードが使用されますhigrid
コメントはコードに影響を与えるため、higrid で使用される php 圧縮 html 関数のコードはコメントを削除せず、直接コードに移動します。

コードをコピーします コードは次のとおりです:

関数 higrid_compress_html($higrid_uncompress_html_source )
{
$chunks = preg_split( '/()/ms', $higrid_uncompress_html_source, -1, PREG_SPLIT_DELIM_CAPTURE ); _html_ ソース = ''; / /[higrid.net] 圧縮 HTML を変更: 改行を削除、タブを削除、コメント マークを削除 <br>foreach ( $chunks as $c ) <br>{ <br>if ( strpos( $c, '<pre class="brush:php;toolbar:false">{ <br>//[higrid.net] 新しい行とタブを削除します <br>$c = preg_replace( '/[\n\r\t]+/', ' ', $c ); <br>// [higrid.net] ] 余分な空白を削除します <br>$c = preg_replace( '/\s{2,}/', ' ', $c ); <br>// [higrid.net] タグ間の空白を削除します <br>$c = preg_replace( '/ &gt) ;\s', '>// [higrid.net] CSS および JS コメントを削除 <br>$c = preg_replace( '/\/\*.*?\*\ / /i', '', $c ); <br>} <br>$higrid_uncompress_html_source .= $c; <br>} <br><br> <br><br> 一部の子供用シューズは HTML の圧縮を推奨していません主な理由は、PHP で HTML を圧縮する場合の上記の注意事項に加えて、gzip 圧縮によって良好な結果が得られるためです。また、HTMLに影響を与える役割(静的、動的、フロントエンド動的)が多すぎて、定量的な指標がないため、どのように圧縮するか(どの程度コードを記述するか)を制御することが困難です。コードでは、送信効率ではなく実行効率を考慮する必要があります。動的ページの場合、HTML 圧縮によってサーバーの CPU 負荷が増加する可能性もありますが、これはメリットに見合ったものではありません。 Google が Web ページを圧縮したのは、初期の頃、ホームページのテキストをできるだけ 1 つまたは 2 つのパッケージ内に収めたいと考えていたことと、ホームページが重要すぎてトラフィックが法外だったためです。 1バイト圧縮すると総通信量が膨大になるので当然必要になります。これ以上の圧縮には問題があり、Google のように徹底的にテストしない限り、HTML の圧縮は推奨されません (Google もコア サービスからの少数のページしか圧縮しません)。

しかし、higrid.net の php 圧縮 html 関数コードを使用すると、この問題をうまく解決できます。さて、早速試してみましょう。

http://www.bkjia.com/PHPjc/326529.html
www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/326529.html技術記事 HTML を圧縮する理由: Web ページの読み込み速度を向上させる方法と HTML ページを最適化する方法は、Web サイト構築スキルを向上させたいすべての Web マスターが考えたことがある問題であると考えられています。まだとても...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
php怎么把负数转为正整数php怎么把负数转为正整数Apr 19, 2022 pm 08:59 PM

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

php怎么实现几秒后执行一个函数php怎么实现几秒后执行一个函数Apr 24, 2022 pm 01:12 PM

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有没有下标php字符串有没有下标Apr 24, 2022 am 11:49 AM

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php怎么除以100保留两位小数php怎么除以100保留两位小数Apr 22, 2022 pm 06:23 PM

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php怎么读取字符串后几个字符php怎么读取字符串后几个字符Apr 22, 2022 pm 08:31 PM

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

php怎么根据年月日判断是一年的第几天php怎么根据年月日判断是一年的第几天Apr 22, 2022 pm 05:02 PM

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php怎么替换nbsp空格符php怎么替换nbsp空格符Apr 24, 2022 pm 02:55 PM

方法:1、用“str_replace("&nbsp;","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\&nbsp\;||\xc2\xa0)/","其他字符",$str)”语句。

php怎么查找字符串是第几位php怎么查找字符串是第几位Apr 22, 2022 pm 06:48 PM

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター