Regex funktioniert doch (nicht)

LinXitoW

Grünschnabel
Diese regex Abfrage funktioniert offensichtlich.
Nur wenn ich diese Regex in meinem lokalen PHP Skript benutze via XAMPP, funktioniert es NICHT. Selbst wenn ich den auf der Seite angegebenen PHP Code in eine neue Datei kopiere, funktioniert es nicht($result==0).

Gibt es eventuell irgendeine Einstellung, die getroffen werden muss, damit Regex zu 100% funktioniert? Oder sonst irgendwas?
Danke fuer die Hilfe
 
Anstatt zu schreiben, was du nicht möchtest, wäre es einfacher, zu schreiben, was du möchtest. Also: Was muss dein gesuchter regulärer Ausdruck beschreiben können?
 
Da scheint was im RegEx-Evaluator schief zu gehen. Er maskiert für den PHP-Quellcode auch alle doppelten Anführungszeichen ("). Da er den String aber mit einfachen Anführungzeichen (') anlegt, macht das eigentlich keinen Sinn.

Wenn du die doppelten Anführungszeichen demaskierst, funktioniert es:
PHP:
<?PHP
  //
  // Text, der durchsucht werden soll
  //
  $subject = '<input id="randomStr" type="hidden" name="randomStr" value="DyRRJgU3A30LfQUtADgLO1A3ADICe1xyACgBOQc1ASoIYAIwB2ZcJlJgAzRQcAs3UjIPJVB%2FUChRIQZiVTIELw8kUToFPAM4C24FKQBtC21QaAAqAi1cJAAzATIHNQEzCGcCNAdgXDlSbAM4">
                <input id="password" type="hidden" name="password">
                <input type="hidden" name="confirmKey" value="b8ef51b61b485f626e3db6250b541335">
                <input type="hidden" name="src" value="360sd">
                <input type="hidden" name="destUrl" value="">
                <input type="hidden" name="sign" value="">

                <input type="hidden" name="tpl" value="360sd">
                <input type="hidden" name="theme" value="">
';
  //
  // Der Reguläre Ausdruck
  //
  $pattern = '&<input id="rand(.*)name="theme" value=".*">&is';
  //
  // RegExp auswerten
  //
  $result = preg_match($pattern, $subject, $subpattern);
  //
  // Ergebnis ausgeben
  //
  echo '<p>Der verwendete Reguläre Ausdruck trifft auf den zu durchsuchenden Text '.
       (($result) ? '' : 'nicht ').'zu.</p>';
  //
  // Unterausdrücke ausgeben
  //
  echo '<pre>'.print_r($subpattern, TRUE).'</pre>';
?>

Viele Grüße
DJ
 
Zurück