2012-04-10 12 views
0

Ich versuche, die Meta-Tags der URLs in den Textbereich eingegeben, was ist falsch daran?PHP Get Meta-Tags, URLs in Arrays = funktioniert nicht

Wie würde ich auch die URL, aus der die Meta-Beschreibung mit der Beschreibung kam, setzen?

<form method="get"> 
<textarea name="TAData"> 
</textarea> 
<input type="submit" value="submit"/> 
</form> 

<div id="checkboxes"> 
<input type="checkbox" name="vehicle" value="PR" /> Show me the PR<br /> 
<input type="checkbox" name="vehicle" value="KW Tag" /> Show me the KW tag<br /> 
<input type="checkbox" name="vehicle" value="Title Tag" /> Show me the Title tag<br /> 
</div> 
<div id="checkboxes"> 
<input type="checkbox" name="vehicle" value="1stH1" /> Show me the 1st H1<br /> 
<input type="checkbox" name="vehicle" value="2ndH1" /> Show me the 2nd H1 tag<br /> 
<input type="checkbox" name="vehicle" value="SeedKW" /> Show me Seed KW's<br /> 
</div> 

<div id="nofloat"></div> 

<?php 

//make the array 
$TAarray = explode("\n", strip_tags($_POST['TAData'])); 

var_dump($TAarray); 

//loop through the array 
foreach ($TAarray as $line) { 


    $line = htmlspecialchars(trim($line)); 
}  

    foreach ($TAarray as $url) { 

      // get the meta data for each url 
      $tags = get_meta_tags($url); 

unset($tags["content-type"]); 
unset($tags["page-type"]); 
unset($tags["page-topic"]); 
unset($tags["audience"]); 

       echo '<tr>'; 
       foreach ($tags['description'] as $meta)   
      { 
         echo '<td>' . $meta . '</td>'; 
       } 
       echo '</tr>'; 
     } 
?> 

Gibt es auch eine Möglichkeit, nur die Meta-Beschreibung aufzunehmen?

+2

Sie überprüfen '$ _POST [ 'TAData'] 'aber deine Formmethode ist' get'. Sollte "post" sein. –

+4

Auch wenn Sie PHP neu sind, wissen Sie wahrscheinlich mehr als "nicht funktioniert". Bitte bemühen Sie sich um Ihre Fragen. –

+0

Danke für die Kommentare Ich wusste wirklich nichts anderes als nicht funktioniert es zeigte keine Fehler ... – RuFFCuT

Antwort

1

1) Ihr Formular wird als GET deklariert, aber Sie lesen Werte aus dem Feld $ _POST.

2), wenn Sie nur die „description“ Meta-Wert extrahieren möchten, brauchen Sie nicht die Iteration über Tags zu tun, können Sie einfach verwenden:

$description = $tags["description"] 
+0

Danke für die Hilfe! – RuFFCuT

+0

Das Skript funktioniert jetzt ABER nur, wenn ich eine URL in den Textbereich setze, sobald ich in die zweite Zeile gehe, gibt es mir die Fehler: ** Ungültiges Argument für foreach() ** und ** [function.get -meta-Tags]: php_network_getaddresses: getaddrinfo fehlgeschlagen: Name oder Service nicht bekannt ** – RuFFCuT

+0

'foreach ($ TAarray als $ key => & $ line) {$ line = trim ($ line); } ' – kuba