• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] Seite mit PHP auf bestimmten Meta-Tag durchsuchen

jakestyler

Mitglied
Hallo,
es geht um eine Verifizierung des Website-Inhabers.
Dieser setzt in den Head-Bereich einen Meta-Tag, wie z.B. diesen:
HTML:
<meta name="verification" content="1234567abcdefg">
Dabei ist content immer eine eindeutige ID. Nachdem der Websiteinhaber den Tag gesetzt hat, trägt er seine Domain in ein Formular ein. Nachdem dieses abgesendet wird, soll die Seite nach dem Meta-Tag und dem entsprechendem content durchsucht werden.
Mein Problem ist nicht das Öffnen der Seite, was ja mit file_get_contents oder fopen relativ leicht umzusetzen ist, sondern um das Durchsuchen nach dem bestimmten Tag und vorallem dann beim Tag den content auszulesen.

Meine Idee:
PHP:
<?php
$verify = file_get_contents('http://website.com');

strpos($verify, '<meta name="verification" content=');


?>

Danke im voraus!
 
Danke, hier noch der Code:
PHP:
$vercontent="1555a";
if (preg_match("/\b".$svercontent."\b/i", "<meta name='verification' content='1555a'>")) {
   echo "Das Suchwort ist im Text enthalten.";
} else {
   echo "Keine Übereinstimmung";
}

Jetzt aber nochmal: Wie kann ich herausfinden, ob die Zahlen- und Buchstabenreihe in dem Meta-Tag mit name verification enthalten sind und nicht irgendwo im Dokument?
 
Greif doch am besten aufs DOM zurück.

PHP:
$sHtml = deine_curl_methode("http://example.org");

$oDoc = new DOMDocument();
$oDoc->loadHTML($sHtml);
$oMetatags = $oDoc->getElementsByTagName('meta');

for ($i = 0; $i < $oMetatags->length; $i++)
{
    $oMeta = $metas->item($i);
    if($oMeta->getAttribute('name') == 'verification') {
        $sKey = $oMeta->getAttribute('content');
    }
}

echo $sKey;
 
PHP:
<?php
$sHtml = file_get_contents("http://page.com");

$oDoc = new DOMDocument();
$oDoc->loadHTML($sHtml);
$oMetatags = $oDoc->getElementsByTagName('meta');

for ($i = 0; $i < $oMetatags->length; $i++)
{
    $oMeta = $metas->item($i);
    if($oMeta->getAttribute('name') == 'startver') {
        $sKey = $oMeta->getAttribute('content');
    }
}

echo $sKey;
?>

Da passiert gar nichts, bis auf dass das Dokument nicht weiter geladen wird (Das Script befindet sich vor dem </body>-Tag und dieser ist nicht mehr da).
 
Wenn es nicht weiter geladen wird, deutet es auf einen PHP-Fehler hin. Lass dir die mal ausgeben und beheb das Problem. Ich würde darauf tippen, dass

PHP:
$oMeta = $metas->item($i);

eigentlich

PHP:
$oMeta = $oMetatags->item($i);

heißen sollte.
 
Schreibfehler passieren immer wieder einmal.

Durch reines Copy & Paste lernst nicht, sonst wäre dir der Schreibfehler wie threadi aufgefallen ;)
 
Hab's erstmal mit preg_match gelöst. Die Methode bookmarke ich mir aber auf jeden fall, um später komplexere Projekte umzusetzen. :)
 
Zurück
Oben