16.10 Verhindern, dass Klammern Text fangen
Problem
In einem Muster haben Sie Klammern zum Gruppieren verwendet, wollen aber nicht, dass der vom Ausdruck in der Klammer gefundene Text im Array mit den eingefangenen Treffern erscheint.
Lösung
Geben Sie wie in Listing 16.1 hinter der öffnenden Klammer ?:
an.
<?php $html = '<link rel="icon" href="http://www.example.com/icon.gif"/> <link rel="prev" href="http://www.example.com/prev.xml"/> <link rel="next" href="http://www.example.com/next.xml"/>'; preg_match_all('/rel="(prev|next)" href="([^"]*?)"/', $html, $bothMatches); preg_match_all('/rel="(?:prev|next)" href="([^"]*?)"/', $html, $linkMatches); print '$bothMatches ist: '; var_dump($bothMatches); print '$linkMatches ist: '; var_dump($linkMatches); ...
Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.