1

テンプレートを使用して、PHP コードによって生成される JavaScript があります。

テンプレートの結果は、JavaScript を含むファイルですが、ステートメントが散らばっています。

空白とコメントを削除して、このファイルのサイズを縮小したいと考えています。

しかし、私がウェブ上で見つけることができるのは、非常に複雑な単純な JavaScript 用のツールだけです。

同じシステムを使用して、HTML と CSS ベースのコンテンツを縮小するスクリプトを作成する準備ができています。ファイル内の PHP コードを処理できる縮小スクリプトを作成できるように、JavaScript ファイルのサイズを縮小する方法に関する情報を探しています。 .

だから私が欲しいのは:

JavaScript コードのサイズを縮小するためのチュートリアル。私が分析できるJavaScriptのサイズを縮小するためのスクリプトに従うのは簡単です。または、JavaScript コードを使用して PHP インラインで正常に動作するツール (商用作品での使用を許可するパブリック ドメインまたはオープン ソースのいずれかである必要があります)

編集:

$script = preg_replace('%/\*.*?\*/%','',$script);
$compress = preg_split('%("|\'|/)(?:\\\\|\\\1|[^\1])*?\1|<\?php\s+(?:("|\')(?:\\\\|\\\2|[^\2])*?\2|[^"\']*?)*?\?>%',$script);
preg_match_all('%(("|\'|/)(?:\\\\|\\\2|[^\2])*?\2|<\?php\s+(?:("|\')(?:\\\\|\\\3|[^\3])*?\3|[^"\']*?)*?\?>)%',$script,$no_compress);
foreach ($compress as &$block) { $block = preg_replace('%\s+%',' ',$block); }

私はそれを解決したと思います。上記はCスタイルのコメントを削除し、残りのコードをPHPブロック、Javascript文字列 'または"、および正規表現パターン/で分割し、コードブロック、文字列、および正規表現パターンも抽出する必要があります。パターンまたは文字列内のコードは、Regex の 2 番目のオプションとして無視する必要があります。最終行では、compress ブロック内の空白を 1 つのスペースに減らす必要があります。

次に、ブロックの再結合の問題である必要があります。

$cscript .= $compress[$i].$no_compress[$i]

スクリプトを再構築します。

見逃したことはありますか?

4

2 に答える 2

6

このようなものが欲しいですか?

http://code.google.com/p/minify/

于 2012-02-08T01:00:57.650 に答える
0

動的JavaScriptとは、PHPタグが散在しているJavaScriptを意味しますか?その場合は、JSONストリームのような新しいプログラミングメソッドを見つける必要があります。私は自分のサイトでもペイロードを使用しましたが、それはPHPJS以外の方法かもしれません。一般的なPHPとJSMinifierを使用して、PHPページを小さくできる場合があります。幸運を。

于 2012-02-08T01:11:14.053 に答える