Jejejé. Probar tu ejemplo es lo primero que he hecho
pero no me ha funcionado por algún extraño motivo....
Lo de las comillas... perdona mi ignorancia... yo creí que era necesario
He intentado coger como ejemplo algo que hace un poco más arriba:
Using perl Syntax Highlighting
foreach (@newresults) {
my $clean = $_->{isbn
} or next;
unless (
$clean =~ /\b(\d{13})\b/ or
$clean =~ /\b(\d{10})\b/ or
$clean =~ /\b(\d{9}X)\b/i
) {
next;
}
$_ ->{'clean_isbn'} = $1;
}Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
¡¡pero nada!! No consigo que funcione de ninguna manera. Bueno, voy a ponerte en situación
La declaración del
array es la siguiente:
Using perl Syntax Highlighting
my @newresults = searchResults
( $query_desc,$hits,$results_per_page,$offset,$scan,@{$results_hashref->{$server}->{"RECORDS"}});Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Te muestro un ejemplo de lo que contiene el
array:
- Código: Seleccionar todo
$VAR1 = {
'damagedcount' => 0,
'illus' => ' : il.',
'biblioitemnumber' => '17',
'wthdrawn' => '0',
'intransitcount' => 0,
'items_count' => 1,
'orderedcount' => 0,
'notforloan' => '0',
'isbn' => '8445315358',
'othercount' => 0,
'itemnumber' => '5',
'descriptionmaterialtype' => 'Libros',
'itemlost' => '2009-04-14 | 0 | 0 | 0',
'barcode' => '5',
'description' => undef,
'imageurlmaterialtype' => '/opac-tmpl/prog/itemtypeimg/icons/book.png',
'items.cn_source' => 'udc',
'result_number' => 4,
'toggle' => 1,
'datelastseen' => '2009-04-14',
'title' => "Campa\x{f1}a 1989",
'publicationyear' => '1995',
'pages' => '287 p.',
'searchhighlightblob' => " ... / Xunta de <span class=\"term\">Galicia</span>, Direcci\x{f3}n Xeral do Patrimonio Hist\x{f3}rico e Documental ... Arqueolox\x{ed}a (<span class=\"term\">Galicia</span>. Xunta) ... -<span class=\"term\">Galicia</span> ... -<span class=\"term\">Galicia</span> ... -<span class=\"term\">Galicia</span> ... <span class=\"term\">Galicia</span> ... ",
'place' => '[Santiago de Compostela]',
'homebranch' => 'LAXE1',
'author' => undef,
'wthdrawncount' => 0,
'size' => ' ; 24 cm',
'onloancount' => 0,
'seriestitle' => "Arqueolox\x{ed}a (Galicia. Xunta)",
'biblionumber' => '17',
'holdingbranch' => 'LAXE1',
'onloan_items_loop' => [],
'damaged' => '0',
'publishercode' => " : Direcci\x{f3}n Xeral do Patrimonio Hist\x{f3}rico e Documental",
'other_items_loop' => [],
'availablecount' => 1,
'available_items_loop' => [
{
'imageurl' => '/opac-tmpl/prog/itemtypeimg/',
'count' => 1,
'location' => undef,
'itemcallnumber' => undef,
'branchname' => 'B.P.M. de Laxe'
}
],
'volume' => ' ; 3',
'itemlostcount' => 0,
'author_nospan' => undef,
'title_nospan' => "Campa\x{f1}a 1989",
'materialtype' => '1',
'subtitle' => undef,
'dateaccessioned' => '2009-04-14',
'amazonisbn' => '8445315358',
'notes' => undef
};
Los campos que muestro son:
title, author, pages, publishercode, place, publicationyear, isbn, descriptionmaterialtype, serialstitle, size, notes.
He observado que el tema del
span aparece en la función searchResults() en varios sitios:
Using perl Syntax Highlighting
if (C4
::Context->preference("OpacHighlightedWords")){
my $searchhighlightblob;
for my $highlight_field ( $marcrecord->fields ) {
# FIXME: need to skip title, subtitle, author, etc., as they are handled below
next if $highlight_field->tag() =~ /(^00)/; # skip fixed fields
for my $subfield ($highlight_field->subfields()) {
my $match;
next if $subfield->[0
] eq '9';
my $field = $subfield->[1
];
for my $term ( keys %$span_terms_hashref ) {
if ( ( $field =~ /$term/i ) && (( length($term) > 3
) || ($field =~ / $term /i)) ) {
$field =~ s/$term/<span class=\"term\">$&<\/span>/gi;
$match++;
}
}
$searchhighlightblob .= $field . " ... " if $match;
}
}
$searchhighlightblob = ' ... '.$searchhighlightblob if $searchhighlightblob;
$oldbiblio->{'searchhighlightblob'} = $searchhighlightblob;
}Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Y aquí:
Using perl Syntax Highlighting
# Add search-term highlighting to the title, subtitle, etc. fields
for my $term ( keys %$span_terms_hashref ) {
my $old_term = $term;
if ( length($term) > 3
) {
$term =~ s/(.*=|\)|\(|\+|\.|\?|\[|\]|\\|\*)//g;
foreach(qw(title subtitle author publishercode place pages notes size
)) {
$oldbiblio->{$_} =~ s/$term/<span class=\"term\">$&<\/span>/gi;
}
}
}Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Es probable que en uno o en ambos de estos sitios sea donde le añade la etiqueta
span, ¿no? Es lo que yo veo.... sustituye
$term por
<span class="term"> $term
</span>.
Así que algo así, pero al revés, debería funcionar...
¡¡Un saludo!!! ¡Y gracias!