class OpenElementsStack extends Stack

Erweiterung des Standard-Stacks um Funktionen für den HTML-Parser

Properties

protected boolean $htmlFragmentParsingAlgorithm

Methods

__construct(boolean $htmlFragmentParsingAlgorithm = false)

Neuer Stack

popAllNodesWithoutHtmlRoot()

Alle nodes bis auf das HTML-Node vom Stapel entfernen

popAllNodesUntil(string $tagName)

Alle Elemente bis zu einem Beliebigen Tag-Node mit dem Namen $tagName entfernen. Liegt die Node nicht auf dem Stapel werden alle Nodes entfernt.

removeSecondElementFromParentNode()

Das zeite Element vom Stape entfernen

boolean
isSecondElementIsBody()

Prüfen ob das zweite Element ein Body-Node ist

getTopmostNode()

Zuerst hinzugefügte Node oder null

deleteElement(Node $node)

Ein Element vom Stack unabhängig von der Position löschen.

null|Node
getBottommostNode(string|array|null $tag = null)

Zuletzt hinzugefügte Node oder Null

getPreviousNode(string $tag = null)

Vorherige Node

getCurrentNode()

Aktuelle Node

getAdjustedCurrentNode(Node $context = null)

AdjustNode

Node|null
getNodeBefore(Node $node)

Node vor der eingehängten Node

boolean
haveAnElementTargetNodeInASpecificScope(string $targetTag = null, array $list = null)

Überprüfen ob im speziellen Bereich eine Node vorhanden ist.

boolean
haveAParticularElementInScope(string $targetTag)

Sonderbereich

boolean
haveAParticularElementInListItemScope(string $targetTag)

Sonderbereich Liste

boolean
haveAParticularElementInButtonScope(string $targetTag)

Sonderbereich Button

boolean
haveAParticularElementInTableScope(string $targetTag)

Sonderbereich Tabelle

boolean
haveAParticularElementInSelectScope(type $targetTag)

No description

getNodeBeforeCurrentNode()

Die Node vor der aktuellen Node

clearTheStackBackToTableContext()

Stack bereinigen und mit den Tokens synchronisieren

clearTheStackBackToTableBodyContext()

Stack bereinigen und mit den Tokens synchronisieren

Details

at line 47
__construct(boolean $htmlFragmentParsingAlgorithm = false)

Neuer Stack

Parameters

boolean $htmlFragmentParsingAlgorithm HTML-Fragment

at line 61
OpenElementsStack popAllNodesWithoutHtmlRoot()

Alle nodes bis auf das HTML-Node vom Stapel entfernen

Return Value

OpenElementsStack

at line 85
OpenElementsStack popAllNodesUntil(string $tagName)

Alle Elemente bis zu einem Beliebigen Tag-Node mit dem Namen $tagName entfernen. Liegt die Node nicht auf dem Stapel werden alle Nodes entfernt.

Parameters

string $tagName

Return Value

OpenElementsStack

at line 101
OpenElementsStack removeSecondElementFromParentNode()

Das zeite Element vom Stape entfernen

Return Value

OpenElementsStack

at line 116
boolean isSecondElementIsBody()

Prüfen ob das zweite Element ein Body-Node ist

Return Value

boolean

at line 130
Node getTopmostNode()

Zuerst hinzugefügte Node oder null

Return Value

Node

at line 147
OpenElementsStack deleteElement(Node $node)

Ein Element vom Stack unabhängig von der Position löschen.

Parameters

Node $node

Return Value

OpenElementsStack

at line 175
null|Node getBottommostNode(string|array|null $tag = null)

Zuletzt hinzugefügte Node oder Null

Wird ein Tag übergeben, so wird die zuletzt hinzugefügte Node mit diesem Tag zurückgegeben.

Wird der Tag (oder die Liste der Tags) nicht gefunden oder ist der Stack leer, so wird \null zurückgegeben

Parameters

string|array|null $tag Tag

Return Value

null|Node

at line 209
Node getPreviousNode(string $tag = null)

Vorherige Node

Wird kein Tag angegeben, so wird die vorherieg Node zur CurrentNode zurückgegeben. Ansonsten wird im Stack nach unten "gesucht".

Parameters

string $tag Start der Suche

Return Value

Node

Exceptions

EmptyStackException

at line 230
Node getCurrentNode()

Aktuelle Node

Return Value

Node

at line 245
Node getAdjustedCurrentNode(Node $context = null)

AdjustNode

Parameters

Node $context

Return Value

Node

at line 267
Node|null getNodeBefore(Node $node)

Node vor der eingehängten Node

Parameters

Node $node

Return Value

Node|null

at line 292
boolean haveAnElementTargetNodeInASpecificScope(string $targetTag = null, array $list = null)

Überprüfen ob im speziellen Bereich eine Node vorhanden ist.

Parameters

string $targetTag Tag der Zielnode
array $list Liste die durchsucht wird

Return Value

boolean

at line 329
boolean haveAParticularElementInScope(string $targetTag)

Sonderbereich

Parameters

string $targetTag

Return Value

boolean

See also

OpenElementsStack::haveAnElementTargetNodeInASpecificScope

at line 345
boolean haveAParticularElementInListItemScope(string $targetTag)

Sonderbereich Liste

Parameters

string $targetTag

Return Value

boolean

See also

OpenElementsStack::haveAnElementTargetNodeInASpecificScope

at line 361
boolean haveAParticularElementInButtonScope(string $targetTag)

Sonderbereich Button

Parameters

string $targetTag

Return Value

boolean

See also

OpenElementsStack::haveAnElementTargetNodeInASpecificScope

at line 377
boolean haveAParticularElementInTableScope(string $targetTag)

Sonderbereich Tabelle

Parameters

string $targetTag

Return Value

boolean

See also

OpenElementsStack::haveAnElementTargetNodeInASpecificScope

at line 387
boolean haveAParticularElementInSelectScope(type $targetTag)

Parameters

type $targetTag

Return Value

boolean

at line 396
Node getNodeBeforeCurrentNode()

Die Node vor der aktuellen Node

Return Value

Node

at line 409
OpenElementsStack clearTheStackBackToTableContext()

Stack bereinigen und mit den Tokens synchronisieren

Return Value

OpenElementsStack

at line 431
OpenElementsStack clearTheStackBackToTableBodyContext()

Stack bereinigen und mit den Tokens synchronisieren

Return Value

OpenElementsStack