2009-08-11 8 views
3

J'essaie de lire dans le corps d'une certaine page Web pour afficher sur une page Web séparée, mais j'ai un peu de problème avec elle. En ce moment, j'utilise le code suivantformatage domdocument

<?php 
@$doc = new DOMDocument(); 
@$doc->loadHTMLFile('http://foo.com'); 
@$tags = $doc->getElementsByTagName('body'); 
foreach ($tags as $tag) { 
    $index_text .= $tag->nodeValue; 
    print nl2br($tag->nodeValue).'<br />'; 
} 
?> 

Ce code fonctionne, mais il semble enlever beaucoup de mise en forme, ce qui est important pour moi, comme les sauts de ligne. Comment puis-je empêcher cela de se produire

Répondre

7

L'attribut formatOutput d'un document DOMDocument le fera.

$doc->formatOutput = true; 

Cela entraînera la sortie DOM à sortir plus pour la consommation humaine, avec des sauts de ligne où vous auriez besoin d'eux et indentation dire « assez print ».

La valeur par défaut pour cette valeur est false, vous devez donc le définir explicitement sur true si nécessaire.