Felix Riesterer: RegEx killt meinen Apache

Beitrag lesen

Lieber Jonny 5,

(ungünstiges Beispiel).

toller Linktipp! Danke!

Sollte doch reichen, den lookahead 1x innerhalb <input> anzuwenden, etwas in der Art:
~(?is)<input(?![^>]+type=)[^>]+>~

Eben nicht! Der Lookahead-Ausdruck "verbraucht" kein Zeichen und bezieht sich aber exakt auf das nach ihm Folgende. Dein Code matcht auf Folgendes, was aber nicht beabsichtigt ist:

<input name="a1" type="button" />

Der Fehler in meinem Code war der Punkt. Also nicht so:

~(?is)(<input)((?!type=).)+>~

Sondern so:

~(?is)(<input)((?!type=)[^>])+>~

Herzlichen Dank für Deinen Denkanstoß!

Liebe Grüße,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)