2011-01-07 8 views
0

私は疑問に思っていました。メタタグを取得する最も速いメソッドまたはコードは何ですか?PHPの説明とキーワードのメタタグを取得する

私はこのコードを持っていますが、get_meta_tags機能を使用すると処理が遅くなります。何か案は?

$tags = get_meta_tags('http://www.example.com/'); 
echo $tags['keywords'];  // keywords 
echo $tags['description']; //description 
+0

を役に立てば幸い!ありがたいことに、 –

+1

これは遅い解析方法ではなく、ネットワークの待ち時間です。おそらく最善の方法はget_meta_tagsです。他の唯一の方法は、ファイルをDOMパーサにロードすることです。これは、私が推測している限り長くかかるでしょう。 – dqhendricks

+0

タグは何のために必要ですか?どれくらい減速しますか?それはあなたを遅くする何か他のものではないと確信していますか?それが物理的な世界なので、あなたを減速させるすべてではありませんか?正直言って、質問は、あなたがそれを尋ねる方法は、私の顔に笑顔を置きます...それはおそらくなぜcolです。 shrapnel aka harry potterがあなたに魔法杖を与えました。 – markus

答えて

0

なぜなら、phpがメタタグを取得する前にページ全体が解析されているからです。おそらく正規表現を使って返されたhtmlを解析するのが最善の方法です。

function get_meta_data($ page){ $ meta_data = array(); preg_match_all( "/] + name = \"([^ "] )\" [^]] +コンテンツ= "([^ \"]) "[^>] +/i"、 $ページ、 $結果、 PREG_PATTERN_ORDER);

$total_found = count($result[1]); 
while (--$total_found) { 
    strtolower($out[1][$i]) == "keywords") && $meta_data['keywords'] = $results[2][$i]; 
    strtolower($out[1][$i]) == "description") && $meta_data['description'] = $results[2][$i]; 
} 

return $ meta;
}

ええ

+0

が間違っています。 'get_meta_data'は、最初の''に合致すると停止します。その前に、ファイルを1行ずつ読み込みます –

関連する問題