Hallo,
ich muss ein paar tausend Dateien bereinigen, die einen Schadcode enthalten (joomla-Installation).
Alle Seiten sind folgendermaßen aufgebaut:
<?php SCHADCODE ?><?php Originalcode
Manchmal sind die php-Seiten aber auch Teil eines Programmcodes. Dann sehen sie so aus:
<?php SCHADCODE ?> Originalcode
Meine Herangehensweise bisher war, mit
.<\?php(.?)?>*. den Schadcode zu finden und zu ersetzen. Leider findet dieser Suchstring aber auch das zweite, öffnende php-Tag, das ja - wenn vorhanden - bleiben soll. Daher habe ich den Versuch unternommen, mit obigen Suchstring zu suchen, aber nicht durch nichts, sondern durch ein öffnendes php-tag zu ersetzen.
Nur geschieht dies dann auch in jenen Dateien, die kein öffnendes php-Tag haben sollen.
Kurzum: Wie sage ich dem Suchstring, dass er nur bis zum ersten schließenden php-Tag suchen soll und dann stoppen? Mit anbderen Worten: Er soll das erste öffnende (<?php) und erste schließende php-Tag (?>) und diese beiden Tags nebst allem dazwischen löschen.