Regex Problem in PHP

Mein Lösungsweg funktioniert!

Die POSIX-Variante geht ganz anders und ist einbisschen anders als die Perl-Regulären Ausdrücke ;)

Hatte davor keine Zeit mein Regex auszuwerten, hatte es einfach kurz geschrieben bzw. deins überarbeitet ;)

PHP:
<?PHP
  //
  // Text, der durchsucht werden soll
  //
  $subject = '<form name=\"tabelle\" action=\"\" method=\"post\" >

<input type=\"text\" name=\"kd3\" value=\"...\" />

</form>';
  //
  // Der Reguläre Ausdruck
  //
  $pattern = '/(?:<form[^>].*?name\=\"tabelle\"[^>].*?\>)(?:(.*?))(\<\/form\>)/is';
  //
  // RegExp auswerten
  //
  $result = preg_match_all($pattern, $subject, $subpattern);
  //
  // Ergebnis ausgeben
  //
  echo '<p>Der verwendete Reguläre Ausdruck trifft auf den zu durchsuchenden Text '.
       (($result) ? $result.' mal ' : 'nicht ').'zu.</p>';
  //
  // Unterausdrücke ausgeben
  //
  echo '<pre>'.print_r($subpattern, TRUE).'</pre>';
?>
 
@KD3

Besten Dank für Deie Lösung...Jetzt funktioniert es zwar aber es wird noch ein Teilbereich des anderen Codes eingelesen.

Hab in der Zwischenzeit mal den Ausdruck so abgeändert:

PHP:
$pattern = '&(<form[^>]*\s*name="tabelle"[^>]*>)(.*)(</form>)&isU';

Mit diesem Ausdruck gehts jetzt wunderbar!!

Vielen Dank an Alle
 
Zurück