/** * Called when applying the filter * * @param resource $in Resource pointing to a bucket brigade which contains one or more bucket objects containing * data to be filtered * @param resource $out Resource pointing to a second bucket brigade into which your modified buckets should be * placed. * @param integer $consumed Consumed, which must always be declared by reference, should be incremented by the length * of the data which your filter reads in and alters. In most cases this means you will * increment consumed by $bucket->datalen for each $bucket. * @param bool $closing If the stream is in the process of closing (and therefore this is the last pass through the * filterchain), the closing parameter will be set to TRUE. * @return int */ public function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $bucket->data = trim(preg_replace('/>\\s+</', '><', $bucket->data)); $consumed += $bucket->datalen; stream_bucket_prepend($out, $bucket); } return PSFS_PASS_ON; }
/** * Prepend bucket to the brigade. * * @param \Hoa\Stream\Bucket $bucket Bucket to add. * @return void */ public function prepend(Bucket $bucket) { stream_bucket_prepend($this->getBrigade(), $bucket->getBucket()); return; }
<?php var_dump(stream_get_filters("a")); var_dump(stream_filter_register()); var_dump(stream_filter_append()); var_dump(stream_filter_prepend()); var_dump(stream_filter_remove()); var_dump(stream_bucket_make_writeable()); var_dump(stream_bucket_append()); var_dump(stream_bucket_prepend());
/** * Alias for @stream_bucket_prepend * @param resource $brigade * @param resource $bucket */ public static function prepend($brigade, $bucket) { return stream_bucket_prepend($brigade, $bucket); }
/** * Prepend bucket to brigade * * @param resource $brigade * @param object $bucket * * @return void */ public function bucketPrepend($brigade, $bucket) { stream_bucket_prepend($brigade, $bucket); }