2016-09-23 4 views
1

私はjavascriptファイルmyjs.phpをサーバー上で生成し、ヘッダー付きでブラウザに配信しました。PHPファイル内のjavascriptコメントを削除します

Header("content-type: application/x-javascript; charset=utf-8"); 

ファイルが大きく、JSセクション内で反響している多くのコメントが含まれています

echo " // comments /* comments */ etc. 

私は必要に応じて、すべてのコメントは範囲内であったように、私はPHPを書き換えることができ、ことを理解しますPHPセクション。

これらのコメントを実行時に削除して、ブラウザに配信されるファイルに含まれないようにする方法はありますか?

+0

出力にどのように依存するかによって異なりますが、必要なのはob_startです(例:http://stackoverflow.com/questions/4401949/whats-the-use-of-ob-start-in-php) –

答えて

0

PHPラッパーのUglifyJSなどのツールを使用できます。 UglifyPHPのように、それを処理するパッケージがあります。 ob_start()ob_get_contents()ob_end_clean()との組み合わせで

use UglifyPHP\JS; 

$js = new JS(['myjs.php']); 

$js->minify('myjs.js', [ 
    'comments' => false, 
]); 

を入力として、RAWファイルのストリームを使用すると、所望の結果を達成することができます:あなたのファイルが生成されたら、またコメントを取り除くなる、それにminifierを実行します。


更新:1は、純粋なLAMPスタック以外のものを使用する可能性を持っていない場合

は、OPによってオンデマンドでこれを追加しました。

はこちらファイルから単一および複数行PHPのコメントを削除する方法についての参照です:

Regex to strip comments and multi-line comments and empty lines

そしてここでは、ユニバーサルソリューションを働いている:

Best way to automatically remove comments from PHP code

をこのトリックを行います。

+0

Thanks Kidバイナリ、私はxamppで動いているだけなので、これをまだ実装しようとしているのかどうかは疑問です。 – martin

+0

問題がある場合は、「サンドボックスLAMPサーバー」に関するセクションがあります。 Hovewever、共有ホスティング(または同様の制限された環境)を使用している場合、残る唯一のオプションは、正規表現でコメントを取り除き、 'ob_ *'関数で出力を処理することです。 – Nevertheless

+0

正規表現でどうやってやりますか? – martin

関連する問題