2011-01-07 2 views
0

Ich frage mich: Welches ist die schnellste Methode oder Code, um Meta-Tags zu erhalten?Abrufen von Beschreibung und Stichworte Meta-Tags in PHP

Ich habe diesen Code mit mir, aber mit get_meta_tags Funktion verlangsamt den Prozess. Irgendwelche Ideen?

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

hilft !!! danke dafür –

+1

ist es nicht die Analysemethode, die langsam ist, ist es die Netzwerklatenz. get_meta_tags ist wahrscheinlich der beste Weg. Der einzige andere Weg wäre, die Datei in einen DOM-Parser zu laden, was genau so lange dauern würde, wie ich vermute. – dqhendricks

+0

für was benötigen Sie die Tags? Wie sehr verlangsamt es dich? Bist du sicher, dass es nicht etwas anderes ist, das dich verlangsamt? ist nicht alles, was du tust, verlangsame dich, weil das die physische Welt ist? Ehrlich gesagt, die Frage, wie Sie es stellen, bringt ein Lächeln auf mein Gesicht ... das ist wahrscheinlich, warum die Col. Schrapnell aka Harry Potter hat dir den Zauberstab verliehen. – markus

Antwort

0

Der Grund ist, weil die ganze Seite analysiert wird, bevor PHP versucht, die Meta-Tags zu erhalten. Es ist wahrscheinlich am besten, eine Regex zu verwenden, um das zurückgegebene HTML zu analysieren.

Funktion get_meta_data ($ page) { $ meta_data = array(); preg_match_all ( "/] + name = \" ([^ "] ) \" [^>] + content = "([^ \"]) "[^>] +>/i", $ Seite, $ result, 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]; 
} 

zurück $ meta;
}

Hoffnung, die ja

+0

falsch, 'get_meta_data' stoppt, wenn es zuerst' 'trifft. Davor liest es Zeile für Zeile –