Re: php stream filters
| From: | Sara Golemon | Date: | Mon, 23 Aug 2004 17:35:16 +0000 |
| Subject: | Re: php stream filters | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-12309@lists.php.net to get a copy of this message | ||
If all you want to do is use an already implemented one just do this:
php_stream *stream;
php_stream_filter *filter;
zval *arguments = NULL; /* Populate this with value(s) appropriate to the
filter */
stream = php_stream_open_wrapper(.....blah blah blah.....);
filter = php_stream_filter_create("filtername", arguments,
php_stream_is_persistent(stream) TSRMLS_CC);
/* Or &stream->writefilters as appropriate */
php_stream_filter_append(&stream->readfilters, filter);
/* Of course, in the real world you'll want to check both stream and
filter for NULL as they may have failed to instantiate */
That said, I don't think iconv.* will be any help. It only covers
base64_(en|de)code() and quoted_printable_(en|de)code().
Filter implementation is a bit trickier. Take a look at
ext/standard/filters.c for more info on that. If you come up with a UTF
converter, I'm sure it can be added to the standard set of filters.
-Sara
"L0t3k" <cshmoove@bellsouth.net> wrote in message
news:20040823142259.47665.qmail@pb1.pair.com...
> can anyone give a hint as to how to use stream filters from an extension ?
>
> i have to parse input files which may be in a variety of encodings (mainly
> UTF8), and processing is done internally in UTF16.
>
> i noticed that there is an iconv filter, but i havent a clue (even after
> googling) of how to use it.
>
> l0t3k