O'Reilly logo

PHP 5 Kochbuch, Third Edition by Stephan Schmidt, Ulrich Speidel, Matthias Brusdeylins, Carsten Lucke, Adam Trachtenberg, David Sklar

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

16.4 Zwischen gierigem und nicht-gierigem Matching wählen

Problem

Sie möchten mit Ihrem Muster die kleinstmögliche Übereinstimmung finden und nicht die größtmögliche.

Lösung

Fügen Sie ein ? nach einem Quantifikator ein, um diesen Teil des Musters zu modifizieren:

// Alle fett geschriebenen Abschnitte finden.
preg_match_all('#<b>.+?</b>#', $html, $matches);

Oder verwenden Sie den Muster-Modifikator U, um alle Quantifikatoren von gierig auf nicht-gierig umzuschalten:

// Alle fett geschriebenen Abschnitte finden.
preg_match_all('#<b>.+</b>#U', $html, $matches);

Diskussion

Standardmäßig entspricht das Verhalten von regulären Ausdrücken in PHP dem, was man als gierig (greedy) bezeichnet. Dies bedeutet, dass ein Quantifikator stets versucht, eine Übereinstimmung ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required