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

8.6 Eigene Filter schreiben

Problem

Sie würden gern einen Stream filtern, aber PHP hat nicht den passenden Filter dafür. Zum Beispiel möchten Sie überzählige Leerzeichen und anderen Whitespace aus einem String entfernen, bevor Sie ihn nach php://output ausgeben.

Lösung

Implementieren Sie Ihren eigenen Filter:

class WhitespaceFilter extends php_user_filter { function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $consumed += $bucket->datalen; $bucket->data = preg_replace("/(\s)\s+/","$1",$bucket->data); $bucket->datalen = strlen($bucket->data); stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; } } stream_filter_register("convert.whitespace","WhitespaceFilter"); echo file_put_contents("php://filter/write=convert.whitespace/resource=php://output", ...

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