You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Puneet Lakhina <pu...@cs.ucsb.edu> on 2008/11/10 07:45:58 UTC

Substituting URLs in PerlOutputFilterHandler

Hi,

I am trying to write a handler that modifies the content of the page
based on a regex match. essentially im trying to modify <a href="">
tags in the outgoing HTML pages.
Now I am trying to do this using PerlOutputFilterHandler. I have the
following questions:
a) Is this the right filter to use for an application like this?
b) As per my understanding my hander can be invoked multiple times
based on the no. of buckets. Is this correct? If yes, then how should
I handle the situation where a part of the tag like say '<a href'
comes in one bucket and '="">' comes in another.

Thanks for your time.

-- 
Regards,
Puneet

Re: Substituting URLs in PerlOutputFilterHandler

Posted by Torsten Foertsch <to...@gmx.net>.
On Mon 10 Nov 2008, Puneet Lakhina wrote:
> essentially im trying to modify <a href="">
> tags in the outgoing HTML pages.
> Now I am trying to do this using PerlOutputFilterHandler. I have the
> following questions:
> a) Is this the right filter to use for an application like this?

yes

> b) As per my understanding my hander can be invoked multiple times
> based on the no. of buckets. Is this correct?

yes

> If yes, then how should 
> I handle the situation where a part of the tag like say '<a href'
> comes in one bucket and '="">' comes in another.

The basic idea is to carry around the tail of the current buffer, 
the '<a href', in the filter context. The last handler in this chapter

http://perl.apache.org/docs/2.0/user/handlers/filters.html#Stream_oriented_Output_Filters

shows the technique.

The OutputFilter routine in Apache2::ClickPath (on CPAN) is another 
example.

Torsten

--
Need professional mod_perl support?
Just hire me: torsten.foertsch@gmx.net

Re: Substituting URLs in PerlOutputFilterHandler

Posted by Adam Prime <ad...@utoronto.ca>.
Puneet Lakhina wrote:
> Hi,
> 
> I am trying to write a handler that modifies the content of the page
> based on a regex match. essentially im trying to modify <a href="">
> tags in the outgoing HTML pages.
> Now I am trying to do this using PerlOutputFilterHandler. I have the
> following questions:
> a) Is this the right filter to use for an application like this?
> b) As per my understanding my hander can be invoked multiple times
> based on the no. of buckets. Is this correct? If yes, then how should
> I handle the situation where a part of the tag like say '<a href'
> comes in one bucket and '="">' comes in another.

This is exactly the situation that Apache2::Filter::TagAware was built for.

http://search.cpan.org/~aprime/Apache2-Filter-TagAware-0.02/lib/Apache2/Filter/TagAware.pm

Adam