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.