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 49
__construct(boolean $htmlFragmentParsingAlgorithm = false)

Neuer Stack

Parameters

boolean $htmlFragmentParsingAlgorithm HTML-Fragment

at line 63
OpenElementsStack popAllNodesWithoutHtmlRoot()

Alle nodes bis auf das HTML-Node vom Stapel entfernen

Return Value

OpenElementsStack

at line 87
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 103
OpenElementsStack removeSecondElementFromParentNode()

Das zeite Element vom Stape entfernen

Return Value

OpenElementsStack

at line 118
boolean isSecondElementIsBody()

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

Return Value

boolean

at line 132
Node getTopmostNode()

Zuerst hinzugefügte Node oder null

Return Value

Node

at line 149
OpenElementsStack deleteElement(Node $node)

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

Parameters

Node $node

Return Value

OpenElementsStack

at line 177
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 211
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 232
Node getCurrentNode()

Aktuelle Node

Return Value

Node

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

AdjustNode

Parameters

Node $context

Return Value

Node

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

Node vor der eingehängten Node

Parameters

Node $node

Return Value

Node|null

at line 294
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 331
boolean haveAParticularElementInScope(string $targetTag)

Sonderbereich

Parameters

string $targetTag

Return Value

boolean

See also

OpenElementsStack::haveAnElementTargetNodeInASpecificScope

at line 347
boolean haveAParticularElementInListItemScope(string $targetTag)

Sonderbereich Liste

Parameters

string $targetTag

Return Value

boolean

See also

OpenElementsStack::haveAnElementTargetNodeInASpecificScope

at line 363
boolean haveAParticularElementInButtonScope(string $targetTag)

Sonderbereich Button

Parameters

string $targetTag

Return Value

boolean

See also

OpenElementsStack::haveAnElementTargetNodeInASpecificScope

at line 379
boolean haveAParticularElementInTableScope(string $targetTag)

Sonderbereich Tabelle

Parameters

string $targetTag

Return Value

boolean

See also

OpenElementsStack::haveAnElementTargetNodeInASpecificScope

at line 389
boolean haveAParticularElementInSelectScope(type $targetTag)

Parameters

type $targetTag

Return Value

boolean

at line 398
Node getNodeBeforeCurrentNode()

Die Node vor der aktuellen Node

Return Value

Node

at line 411
OpenElementsStack clearTheStackBackToTableContext()

Stack bereinigen und mit den Tokens synchronisieren

Return Value

OpenElementsStack

at line 433
OpenElementsStack clearTheStackBackToTableBodyContext()

Stack bereinigen und mit den Tokens synchronisieren

Return Value

OpenElementsStack