2016-07-09 11 views
2

Ich möchte die Anzahl der Zeichen und Tags für jeden Knoten in body-Tag zählen. Später wird diese Anzahl von Zeichen und Tags verwendet, um die Dichte für jedes Tag zu erhalten. Um den Körper zu erhalten, verwende ich die Funktion find() von PHP Simple HTML DOM Parser.Extrahieren jedes HTML-Tags im Körper mit PHP

function FindBody($str) { 
// String --> DOM Elements 
$string = str_get_html($str); 
// Find body 
$e = $string->find('body'); 
file_put_contents('text_1.txt', $e); } 

Die obige Snippet wird die folgende Ausgabe:

<body class="html not-front not-logged-in one-sidebar sidebar-first page-node page-node- page-node-163472 node-type-article page- page- ltr"><div id="skip-link"> <a href="#main-content" class="element-invisible element-focusable">Skip to main content</a>..... </body>

Der Körper jedes Mal unterscheiden werde ich den HTML-Code aus einem Link. Jetzt bin ich fest. Ich weiß nicht, wie man rekursiv/iteriert, um jedes Tag zu bekommen. Ich habe irgendwo gelesen, es kann rekursiv gemacht werden, aber es wird eine Menge Zeit brauchen.

Ich muss das DOM verwenden, da ich diesem Algorithmus folge.

+0

Eine praktische Technik ist ** XSLT zu verwenden. ** Dies ist eine deklarative Sprache, die in der Tat ermöglicht es Ihnen, „Abfrage“ eine XML-ähnliche Struktur . Ich werde Sie "Google es" lassen, um mehr von dem zu verstehen, was ich meine. Aber es bedeutet im Grunde, dass Sie kein "kompliziertes * Programm" schreiben müssen, um Informationen aus einer komplizierten XML/XHTML-Quelle zu erhalten. –

+0

Was meinst du mit der Anzahl der Zeichen jedes Knotens genau? – revo

Antwort

0

Wenn Sie nur Texte dann zählen, warum nicht verwenden strip_tags