Thread Suche und Ersetzen von <?php und <!--
(15 answers)
Opened by newperler at 2011-04-26 19:20
naja, das fragezeichen ist ein zeichen mit besonderer bedeutung in regexes.
x? bedeutet, matche auf "x", und das 0 oder 1 mal. du musst ein fragezeichen also escapen. dann kommst du auf folgendes: $contents =~ s/(<\?php.*\?>)/ /gsi; das wiederum wird auch noch nicht ganz reichen, da es dir bei mehr als einem tag den kompletten content zwischen den tags auch mit löschen wird. weil nämlich .* "greedy" ist, d.h. es matcht soviel wie möglich. lösung: $contents =~ s/(<\?php.*?\?>)/ /gsi; hinter einem .* hat das fragezeichen die funktion: "mache den vorhergehenden ausdruck non-greedy". http://p3rl.org/perlretut Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wie frage ich & perlintro brian's Leitfaden für jedes Perl-Problem |