Suche nach HTML-tags in string
Ich weiß, diese Frage ist etwa SO, aber ich kann nicht finden, die richtige und ich bin noch immer schlecht in Regex :/
Ich habe eine string
und die Zeichenfolge ist Gültiger HTML-Code. Jetzt möchte ich, um herauszufinden, alle tags mit einem bestimmten name
und attribute
.
Habe ich versucht, dieses regex (also mit div-Typ): /(<div type="my_special_type" src="(.*?)<\/div>)/
.
Beispiel-string:
<div>Do not match me</div>
<div type="special_type" src="bla"> match me</div>
<a>not me</a>
<div src="blaw" type="special_type" > match me too</div>
Wenn ich mit preg_match dann bekomme ich nur <div type="special_type" src="bla"> match me</div>
was ist logisch, denn der andere hat die Attribute in einer anderen Reihenfolge.
Was regex benötige ich die folgenden array
bei der Verwendung preg_match
auf den Beispiel-string?:
array(0 => '<div type="special_type" src="bla"> match me</div>',
1 => '<div src="blaw" type="special_type" > match me too</div>')
- wenn es ein Gültiger HTML-Code können Sie nicht verwenden, PHP-DOM? ich empfehle, nicht mit
preg_*
für HTML
Du musst angemeldet sein, um einen Kommentar abzugeben.
Allgemeine Beratung: das nicht mit regex zu Parsen von HTML - Es wird chaotisch, wenn die HTML-änderungen.
Verwenden
DOMDocument
statt:XPath
ist Sie bestimmt Weg, hier zu gehen - vor allem, wenn der HTML-Code größer als in Frage. testen Sie es$result
? Weil ich nicht finden können, eine Methode, wieitems()
oder etwas, und ich habe mehrere tags im html-Code, ich will zu finden.foreach
check mein updateAls hek2msql sagte, Sie besser zu nutzen DOMDocument