Felix Riesterer: Attribut auslesen

Beitrag lesen

Liebe(r) glupto,

$result = $doc->getElementsByTagName("h2");
...

foreach ($result as $node)

...

echo '<li><a href="http://www.website.de/" target="_blank">' .
                   $node->nodeValue . '</a></li>';


> [...]  
> Wie kommt ich innerhalb meines Codes oben an href ran  
  
Du kannst also Dokumentknoten (nodes) in PHP erreichen? Eine entsprechende [Debug-Ausgabe](http://php.net/manual/de/function.print-r.php) vor dem Echo könnte Dir da wertvolle Hinweise ausspucken (z.B. was `$node oder $result`{:.language-php} tatsächlich enthalten).  
  
Wenn Du schon DOM-Methoden benutzt, warum kannst Du dann plötzlich nicht auf Attributknoten von Elementen zugreifen? In Deinem Fall willst Du ja das Kindelement Deiner Node (ein <a>-Element) auf seinen href-Attributwert hin untersuchen...  
  

> und wie kann ich das Ergebnis (z.B. array $href) mit dem website-Namen verbinden?  
  
Ein solches Array ist in Deinem Codebeispiel nicht enthalten. Was speicherst Du denn darin?  
  
An Deiner Stelle würde ich es so aufbauen:  
  
~~~php
$href = array(  
    array(  
        'url' => 'example.com/path/to/some/file',  
        'title' => 'Some dull file'  
    ),  
    array(  
        'url' => 'hip.example.com',  
        'title' => 'Some hip site'  
    ),  
    array(  
        'url' => 'google.com',  
        'title' => 'My favorite search engine'  
    )  
);

Wenn Du lustig bist, dann kannst Du die URL auch als Array-Schlüssel benutzen, denn doppelte URLs sind ja offensichtlich ausgeschlossen:

$href = array(  
    'example.com/path/to/some/file' => 'Some dull file',  
    'hip.example.com' => 'Some hip site',  
    'google.com' => 'My favorite search engine'  
);

Liebe Grüße,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)