Regexp für HTML Attribute
-
Hallo,
ich möchte z.B. HTML per Reguläre Ausdrücke parsen und die Attribute + Attributwerte ermitteln.
Hierfür habe ich folgenden Regulären Ausdruck probiert$str = '<div align="center" style="text-color: #000000">'; $re = "<([a-zA-Z][a-zA-Z0-9]*?)(\s+([a-zA-Z\-]+?)=\"(.+?)\")+>"; $match = array(); preg_match("/$re/si", $str, $match); echo '<pre>'; print_r(array_map('htmlentities', $match)); echo '</pre>';
jedoch bekomme ich nicht alle Attribute (align, style) und Werte (center, text-color: #000000) einzeln.
Was fehlt bei mir?
-
-
Danke aber das hilft mir nicht weiter (Seite und Funktion kenn ich schon).
Der Code in meinem Beitrag war nur ein Beispiel.
Ich habs auch mit preg_replace_callback versucht, dennoch krieg ich mit meinem
RE nicht mehr als ein Attribut + Wert je Tag.
-
OK, ich muss wohl erst den Element-Namen rausfinden und erstmal alle Attribute + Werte als ganzes Speichern. Dann kann ich die Attribute einzeln parsen.
-
regex ist nicht mächtig genug um html zu parsen
bitte einen anständigen parser nutzen