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.11 In einem regulären Ausdruck eine PHP-Funktion nutzen

Problem

Sie möchten gefundenen Text mit einer PHP-Funktion verarbeiten. Sie wollen zum Beispiel alle HTML-Entities in eingefangenen Teilmustern dekodieren.

Lösung

Nutzen Sie preg_replace_callback( ). Geben Sie anstelle eines Ersetzungsmusters eine Callback-Funktion an. Dieser Callback-Funktion wird ein Array mit allen gefundenen Teilmustern übergeben, und sie sollte einen geeigneten Ersetzungsstring zurückliefern. Listing 16.3 dekodiert die Entities zwischen <code></code>-Tags.

<?php $html = 'Das &lt;b&gt;-Tag macht Text fett: <code>&lt;b&gt;fett&lt;/b&gt;</code>'; print preg_replace_callback('@<code>(.*?)</code>@','decode', $html); // $matches[0] ist der gesamte gefundene String. // $matches[1] ...

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