2012-02-24 16 views
0

requireやincludeの機能を少し変更して改行や空白を削除する方法があるのだろうかと思っていました。したがって、取得しようとしているドキュメント内のすべてのhtml/jsを縮小します。php requireと空白

私はこの試みた:

trim(require('my document.php')); 

はしかし動作しませんでした、これを行うための正しい方法はありますか?

乾杯、 ダグ

+0

どのような改行とスペースですか?親切に詳細な情報を教えてください。 – seferov

+2

私の答えを削除しました。あなたはソース名から空白を削除したいと思っていました。私の悪い:)。とにかく:すべての改行と空白を取り除くことは賢明ではありません。 'を' Nanne

+1

HTML/JSのサイズ変更は、すべての空白を削除するだけでは簡単ではありません。あなたはminifierライブラリを使いたいでしょう。 – JJJ

答えて

2

、あなたはしかし、それを行うためにより縮小ライブラリを見つける必要があります。

+0

のように見えます。 – cardi777

0

あなたが書くか、適切に仕事をするためにいくつかの並べ替えのパーサーを使用する必要があると思います。大まかで準備ができたソリューションを使用できる場合、str_replaceは配列をとり、1文字で置き換えます。

str_replace(配列( "\ n"、 "\ r"、 "\ t"、 "etc")、 ""、$ mystring);

しかし、それはあなたが達成したいもののための多くの処理のように思えます。あなたはおそらく私document.phpによって生成されたすべての出力を取得し、それを縮小化します

ob_start(); 
require('my document.php'); 
echo minify(ob_get_flush()); 

のような何かをしたい

+0

誰かが代替ソリューションを提供せずにこれを下降させました。私はこのサイトを取得しません。それはw @ nkersか何かでいっぱいですか? – Pete

+0

私は間違っていることがわかりません。私はここに学びますが、この種の行動のポイントは何ですか? – Pete

+0

これは私が何をすることができると思ったかのように、requireが変数のように振る舞いますが、そのようには動作しません:P – cardi777

0

この質問は成立しません。

  1. 空白を削除すること自体は意味がありません。そのような大きな懸念がある場合は、圧縮されたコンテンツを送信するようにサーバーを設定することができます。
  2. しかし、インクルードされたファイルの出力のみで空白を消去するのはなぜですか?一度にサイト全体の出力を行うのはなぜですか?あなたが記述している何
+0

の後には、これはなんですか?google.comのソースをご覧ください。それは無駄なので、すべての改行、改行タブのcharと二重スペースを完全に削除することはまったく問題ないです。 – dynamic

+0

...良い質問 - 私はあなたが正しいと思うのですが、一度にページ全体をするだけではいかがですか – cardi777

0

潜在的に脆弱であり、単にenabling compressionに大幅に劣っています。

質問を更新して、なぜこのようにしたいのかを説明すると役に立ちます。

しかし、あなたはこのようにそれを行うことができます:あなたはあなたが必要な空白を削除するために管理する可能性がありますそうであっても

ob_start(); 
require('file'); 
echo = preg_replace(array("@[\r\n\t][email protected]", '@>\s+<@', '@\[email protected]', '@\s?{\[email protected]', '@\s?}\[email protected]'), array('', '><', ' ', '{', '}'), ob_get_clean()); 

- あなたはJavaScriptとセミコロンを欠場上でそれを実行している場合は特に。

+0

あなたのアドバイスをお寄せいただきありがとうございます。 – cardi777