Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Problems searching and highlighting proximity words in a text

by Krambambuli (Deacon)
on May 21, 2010 at 20:46 UTC ( #841126=note: print w/ replies, xml ) Need Help??


in reply to Problems searching and highlighting proximity words in a text

Are you sure you've found the 'sensitive spot' for the problem you've ran into ...?

Trying to put together the parts you came with, I came up with th following code:

#!/usr/bin/perl use strict; use warnings; my $content = <<EOT; La mitad de las personas con VIH requiere de una atención psicológica + y emocional derivada del impacto del diagnóstico o de las consecuen +cias de la propia infección, una cifra que dobla a la de la població +n general, según las conclusiones de las IV Jornadas de Divulgación +sobre VIH que han reunido a unos doscientos profesionales, pacientes + y estudiantes en el hospital Reina Sofía de Murcia. En el congreso +, organizado por Amuvih en colaboración con el servicio de Proyecció +n Social y Voluntariado de la Universidad de Murcia y Abbott, ha det +erminado que las personas que viven con VIH demandan especialmente a +tención a su salud mental para mejorar su calidad de vida, "una asig +natura pendiente a pesar de los innumerables avances farmacológicos" +. Entre otros factores, las jornadas establecieron que en la situación +de "vulnerabilidad" de las personas con VIH influyen "el propio diag +nóstico, la comunicación de su situación a los allegados, el inicio +del tratamiento, las fluctuaciones a lo largo de la infección, la pé +rdida de salud y deterioro físico, así como los efectos adversos del + tratamiento". Igualmente, otros factores importantes son la pérdida de la motivació +n, el hastío, el estigma y rechazo, así como las nuevas parejas sexu +ales, los cambios familiares, laborales y sociales, entre otras cosa +s, que derivan en "riesgo de depresión mayor, trastorno distímico, t +rastorno por ansiedad generalizada o trastorno de pánico". EOT my $par1 = '[a\xe0\xe1\xe4\xe2A\xc1\xc0\xc4\xc2]bb[o\xf2\xf3\xf6\xf4O\ +xd3\xd2\xd6\xd4]tt'; my $par2 = 's[a\xe0\xe1\xe4\xe2A\xc1\xc0\xc4\xc2]l[u\xf9\xfa\xfc\xfbU\ +xda\xd9\xdc\xdb]d'; my $distance = 20; use POSIX qw(locale_h); my $old_locale = setlocale(LC_CTYPE); setlocale(LC_CTYPE, 'ca_ES.iso885915@euro'); use locale; my ($res1, $res2, $res3); my $tag = 'strong '; my $class = 'class=some_class_here'; my $new_content = $content; if ($content =~ /\b($par1)(\W+(?:\w+\W+){1,$distance})?($par2)\b/i) { ($res1, $res2, $res3) = ($1, $2, $3); $new_content =~ s/$res1\Q$res2\E$res3/<$tag$class> $res1<\/$tag>$r +es2<$tag$class> $res3<\/$tag>/i; } if ($content =~ /\b($par2)(\W+(?:\w+\W+){1,$distance})?($par1)\b/i) { ($res1, $res2, $res3) = ($1, $2, $3); $new_content =~ s/$res1\Q$res2\E$res3/<$tag$class> $res1<\/$tag>$r +es2<$tag$class> $res3<\/$tag>/i; } print "Res1: \n$res1\n\nRes2: \n$res2\n\n Res3: \n$res3\n\n"; exit;
which works fine here. Does it not work for you ...?

Maybe you've just been fooled to believe the problem is here, due to some buffered (and consequently delayed/hidden) output ?


Comment on Re: Problems searching and highlighting proximity words in a text
Download Code
Re^2: Problems searching and highlighting proximity words in a text
by lorn (Monk) on May 23, 2010 at 14:49 UTC

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://841126]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (18)
As of 2014-08-28 16:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (264 votes), past polls