PHP - Teilen Sie eine Zeichenfolge von HTML-Attributen in ein indiziertes Array

7

Ich habe eine Zeichenfolge mit HTML-Attributen:

%Vor%

Wie man diese Zeichenfolge in ein indiziertes Array umwandelt, wie:

%Vor%

Damit kann ich die PHP-Funktion array_merge_recursive verwenden, um zwei Gruppen von HTML-Attributen zusammenzuführen.

Danke

    
abernier 05.07.2009, 10:08
quelle

5 Antworten

17

Verwenden Sie SimpleXML:

%Vor%

Dies setzt voraus, dass die Attribute immer Name / Wert-Paare sind ...

    
Ken Keenan 05.07.2009 10:56
quelle
8

Sie können einen regulären Ausdruck verwenden, um diese Informationen zu extrahieren:

%Vor%

Jetzt müssen Sie nur noch die Klassen von class (aufgeteilt nach Whitespaces) und die Eigenschaftsdeklarationen von style parsen (etwas schwieriger, da es Kommentare und URLs mit ; enthalten kann).

    
Gumbo 05.07.2009 10:19
quelle
3

Sie können keinen regulären Ausdruck verwenden, um HTML-Attribute zu analysieren. Dies liegt daran, dass die Syntax kontextabhängig ist. Sie können reguläre Ausdrücke verwenden, um die Eingabe zu token, aber Sie benötigen eine Zustandsmaschine, um sie zu analysieren.

Wenn die Leistung keine große Sache ist, besteht der sicherste Weg darin, die Attribute in ein Tag zu packen und dann über einen HTML-Parser zu senden. ZB:

%Vor%

Sie könnten das Obige optimieren, indem Sie den Parser wiederverwenden, oder indem Sie XmlReader oder XmlReader verwenden der Sax Parser .

    
troelskn 05.07.2009 10:43
quelle
2

Vielleicht hilft dir das .. Was es macht ..

  • Ein HTML-DOM-Parser, der in PHP5 + geschrieben ist, lässt Sie HTML auf sehr einfache Weise manipulieren!
  • Erfordert PHP 5 +.
  • Unterstützt ungültiges HTML.
  • Suchen Sie Tags auf einer HTML-Seite mit Selektoren wie jQuery.
  • Extrahieren Sie Inhalte aus HTML in einer einzelnen Zeile.

Ссылка

    
TigerTiger 05.07.2009 10:41
quelle
1

Einfacher Weg könnte auch sein:

%Vor%     
Mariyo 09.05.2015 14:21
quelle

Tags und Links