[Dbix-class] Re: [Templates] Replace with case insensitive

Emmanuel Quevillon tuco at pasteur.fr
Mon Mar 3 11:10:20 GMT 2008


Harald Joerg wrote:
> Emmanuel Quevillon writes:
> 
>> Hi,
>>
>> I am using TT to render DB output from search query box.
>> As I allow insensitive search, I'd like to bold the search
>> term in the output html page.
>> I can do it using replace vmethod but I did not find any
>> insensitive option to render it:
>>
>> [% entry.dbid.replace(query, "<b>$query</b>") %]
>> If the query is  "foo" and the db value is "Foo", the
>> replace doe snot work.
>> Does it exist a way to allow this functionality?
> 
> Yep!
> 
> The search string of the replace vmethod can contain all modifiers
> which are allowed in perl itself.  The only additional trick you need
> to use is to interpolate your variable into the regular expression:
> 
> [% entry.dbid.replace("(?i:$query)", "<b>$query</b>") %]
> 
> You did already take care for oddities like pattern metacharacters in
> your query variable, did you? ;-)
Hi Harald,

Thanks for your help.
Also is there a possibility to $1 etc in replace method?
Something like:
[% entry.dbid.replace("(?i:$query)", "<b>$1</b>") %]

cheers

Emmanuel

-- 
-------------------------
Emmanuel Quevillon
Biological Software and Databases Group
Institut Pasteur
+33 1 44 38 95 98
tuco at_ pasteur dot fr
-------------------------



More information about the DBIx-Class mailing list