2012-01-05 5 views
1

私はキャッシングクラスを作成しました。これは、多くのデータベースクエリの後で自動的にページコンテンツを取得し、.htmlファイルとして保存します。 600秒ごとに、クエリの代わりにこの.htmlページから読み取ります。空白と n l値を最も速く削除するにはどうしたらいいですか?

読み込み速度をさらに速くするために、 ""(スペース)\ n \ lなどの不要な文字を削除したいと考えています。これどうやってするの?

私は多くの点でこれを行うことができます。 trim、str_replaceなどがあります。私は最も速い - と安全な(それはjavascriptを破ることはありませんので)信頼する方法を知りたい。 :)

ありがとうございます。

+1

このキャッシュファイルを作成する際、\ nを付けずに.htmlファイル全体をエコーし​​ないでください。それから、あなたはこれをする必要はありません。あなたはなぜjavascriptについて尋ねますか?このHTMLファイルには複数のクエリが含まれていますか? – OptimusCrime

+1

これを測定することをお勧めします。あなたはペニーをここに貯めていると思います。努力する価値はありません。 –

+0

@OptimusCrime \ nを使わずに.htmlファイル全体をエコーすると、\ nの種類のreplace関数が、ページが要求されるたびに呼び出されます。だから、私はそれを私が減らすことができるほどに保存したいのです。 – Aristona

答えて

0

は私がstr_replaceを使用して最速の方法であると仮定し、これはスペースとタブと改行

+0

JavaScriptの文字列リテラルはどうですか? :-) –

1

を置き換えます

$newcontent = preg_replace('/(\n|\s|\t)+/','',$oldcontent); 

を試してみてください!代わりの方法はpreg_replaceですが、正規表現は単純な文字列置換ほど高速ではありません。

私が覚えている限りでは
private function makeTiny($source, $type) { 
    // Get replacements 
    $replacements = array(); 

    if ($this->conf[$type]['stripTabs']) { 
     $replacements[] = "\t"; 
    } 
    if ($this->conf[$type]['stripNewLines']) { 
     $replacements[] = "\n"; 
     $replacements[] = "\r"; 
    } 

    // Do replacements 
    $source = str_replace($replacements, '', $source); 

    // Strip comments 
    if ($this->conf[$type]['stripComments']) { 
     $source = preg_replace('/<\!\-\-.*?\-\->/is', '', $source); 
    } 

    // Strip double spaces 
    if ($this->conf[$type]['stripDoubleSpaces']) { 
     $source = preg_replace('/({2,})/is', ' ', $source); 
    } 
    if ($this->conf[$type]['stripTwoLinesToOne']) { 
     $source = preg_replace('/(\n{2,})/is', "\n", $source); 
    } 
    return $source; 
} 

、これはインラインJavaScriptを殺害されていません。

いくつかの時間前、私はいくつかのソースコードを整理するために、このメソッドを書かれています!しかし前にそれを試してみるべきです。

+0

JavaScriptの文字列リテラルはどうですか? :-) –

+0

私は例を追加しました! – Armin

+0

実際のページでテストしましたか? :-) –

1

JavaScriptコードに注意を払うと、javascriptコメントがあればJavaScriptコードが破損する可能性があります。

初めてJavaScriptを最適化するには、Yui compressorおよび/またはGoogle Closure Compressorをご覧ください。 ない

ページの残りの部分について、あなたはthoses便利な機能で

Compressing your HTML, CSS and Javascript using simple PHP Code

を渡すことができますが、それはあなたに

2

私のアドバイスをお役に立てば幸いです。

ほとんどの場合、スペースで構成されたマークアップが生成されるほどテンプレートの作成が遅れていない限り、

シンプルで高速かつ安全なスペースを削除する方法が必要です。しかし、実際には、これら3つのプロパティのうち2つだけを選択できます。

  • シンプルで速い場合は:str_replaceを使用しますが、JavaScriptが壊れます。
  • シンプルで安全な場合:自分でファイルを編集し、スペースを手動で削除します。
  • 高速で安全な場合は、複雑なパーサーや最適化ツールを使用する必要があります。

これはあなた次第です!

+0

現在、私がキャッシュしているページには、700行のHTMLコードが含まれており、すべての行にはかなりのスペースが含まれています。また、インラインJavaScript。現在のページ読み込み時間は0.020秒です。私はそれがより速くしたい、それが価値がないなら、私はこれのように保つのがよい。 – Aristona

+0

それを推測しないでください!手持ちの数字を使って、教育的な意思決定をすることができます。 –

関連する問題