2012-02-08 13 views
1

テンプレートを使用してPHPコードで生成されたJavaScriptがあります。PHPを使用した動的JavaScriptの細化

テンプレートの結果は、JavaScriptが含まれていますが、その中に文が散在しています。

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

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

私は、HTMLを減らすためのスクリプトとCSSベースのコンテンツを同じシステムで作成する準備ができています.JavaScriptファイルのサイズを縮小するための情報を探していますので、PHPコードを処理できる縮小スクリプトを書くことができます。ファイル内にある。

は、だから私は何をしたいです:

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 Strings、およびRegex Patterns /に分割し、コードブロック、文字列、正規表現パターン、パターンまたは文字列内のコードを抽出する必要があります正規表現の2番目のオプションとして無視する必要があります。 最終行は、圧縮ブロックの空白を1つの空白に減らす必要があります

は、それはちょうど、すなわち

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

は、スクリプトを再構築するには、ブロックの再結合の問題でなければなりません。

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

答えて

6

このようなものが欲しいですか?あなたはそれを介して散乱PHPタグを持っているJavaScriptを意味JavaScript動的ことで

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

+0

ちょっと!すばらしい。ちょうど質問。プロダクションサーバーで使用できますか?私はそれが問題や脆弱性を作成しないことを意味する –

+0

また、私はZendでそれを実装したい。最善の方法は何ですか? –

0

?それが事実なら、あなたは本当にJSONストリームのような新しいプログラミングメソッドを見つけるべきです。自分のサイトにもペイロードを使用しています。これはPHP JS以外のコンシェルサーの方法かもしれません。一般的なPHPとJSミニファイアを使用して、PHPページを小さくすることができます。がんばろう。

関連する問題