Forum
Öffentliche Foren |
FORUM: Spiele & Computer THEMA: PHP REGEXP gesucht | |||
AUTOR | BEITRAG | ||
‹• ⊂⌈α⊂κ¥ •›
RANG Deckschrubber |
#1 - 19.11 14:41 Hi all, ich suche einen regulären ausdruck der mir alle attribute aus folgendem code filtert:<php:inputbox name="test" value="blub" onclick="blub();"/> Zur anmerkung: die anzahl der attribute ist nicht beschränkt. es kann also sein, dass es mehrere attribute gibt. Das ganze hätte ich gerne als array in dieser form: $a['type'] = "inputbox" $a['name'] = "test" $a['value'] = "blub" $a['onclick'] = "blub();" Einzige kriterien die immer gleich bleiben sind <php: und /> Jemand eine idee dazu? Bin nicht so begabt in regulären ausdrücken, vielleicht gibt es aber hier jemanden der sich damit auskennt und mir helfen möchte ;) Danke sehr [edit] Achso, es gibt noch mehr attribute ausser "name", "value" und "onclick". Also beliebig viele. Ebenfalls ist der typname nicht immer gleich! |
||
vaest´ark // patrick *ich bin hier nicht der depp*
RANG Master of Clanintern |
#2 - 19.11 16:31 ich hab mich jetzt nicht weiter damit auseinandergesetzt, aber es könnte in einem regulären ausdruck gehen. das kann aber jemand anders machen. |
||
‹• ⊂⌈α⊂κ¥ •›
RANG Deckschrubber |
#3 - 20.11 07:37 hi, erstma danke für deine bemühungen.allerdings ist es nicht ganz so wie ich es mir vorstelle. die attribute liest dein regexp perfekt aus, allerdings nicht den typen (nach <php:) ausserdem beachtet dein ausdruck auch nicht das endzeichen /> Das heißt, dass auch unvollständige strings erkannt werden (wie z.B. <php:b a="z") Das ist nicht gewollt. Habe versucht das ganze selber hin zubekommen, habe es aber nicht geschafft. Werde weiter probieren. |
||
klaustopher
RANG Skill Newbie |
#4 - 20.11 16:22 dann würde ich zuerst mal einen preg_match_all für "<php:*/>" und dann die von vaest angegeben matches auf den matches-array dieses teils anwendenSorry, gerade zu faul die Regexp dafür zu schreiben, das kriegste schon selber |
||
‹• ⊂⌈α⊂κ¥ •›
RANG Deckschrubber |
#5 - 20.11 18:49 hm also nach tausend mal versuchen schaff ich es noch immer nicht.hab bis jetzt das hier: String: <php:inputbox name="test" value="jha"/> <php:(.*)\/> liefert: inputbox name="test" value="jha" Bezogen auf das vorige ergebnis: (?:\s+(.\w+)="(.\w+)") liefert: name, test, value, jha (.\w+)(?:\s) liefert: inputbox Aber irgendwie krieg ich das nicht vereint. man das ist nen dreck. |
||
masta // thomas
RANG Prophet of Clanintern |
#6 - 26.11 10:06
|
||
‹• ⊂⌈α⊂κ¥ •›
RANG Deckschrubber |
#7 - 26.11 13:19 danke thomas, werde das heut abend mal testen.hab gestern aber bereits selber eine möglichkeit gefunden. nun muss ich erst einmal schauen welche schneller und sicherer ist. thx |
||