Frage

Ich bin mit der php dom Funktion nodeValue den Text Inhalt zu extrahieren. Aber es gibt den Nachkommen Werte zu:

<example>
<inhalt>123<more>45</more></inhalt>
</example>

Rückkehr für inhalt 12345 und 123, wie ich es vorziehen. Ich weiß, dass nicht der Sinn und nicht sehr gut Text innerhalb inhalt haben, aber wie kann ich überprüfen, dass es kein Text in inhalt wie hasNodeValue ist?

War es hilfreich?

Lösung

Wie Phil erwähnte Text auch in Knoten organisiert ist. Deshalb ist ihre node Inhalt hat zwei Kinder. Ein Textknoten ( "123") und ein Element Knoten mit dem Namen mehr , die auch einen Textknoten hat ( "45")

Wenn Sie nur wissen wollen, ob es Text vor dem Elemente mehr , Test, wenn es mindestens ein Element ist, und dann testen, ob das erste Element Text ist (sollte DomText , soweit ich mich erinnere).

Wenn Sie wissen möchten, wenn es mindestens ein Element „an der Wurzel“ ist, iterieren über alle Kinder und die gleichen Tests machen.

http://www.php.net/manual/en/class. domtext.php

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top