Escribe un programa en negrita y subrayado
london1854
Mensajes publicados
3
Estado
Miembro
-
[Dal] Mensajes publicados 6122 Fecha de registro Estado Colaborador Última intervención -
[Dal] Mensajes publicados 6122 Fecha de registro Estado Colaborador Última intervención -
Hola,
Tengo un programa para hacer en perl que permite poner en negrita y resaltado en amarillo la secuencia final atada a la forma flexionada de los nombres (ejemplos: familiaridad/NOM/familiaridad).
La etiqueta que hay que insertar en la función de sustitución, para resaltar la secuencia ‘ité’ en amarillo y ponerla en negrita, es la siguiente:
<b style="background:yellow;">ité</b>
Aquí está el programa que he creado:
Tengo un problema porque este programa no funciona, ¿alguien podría explicarme cómo hacerlo para que funcione correctamente y obtenga el resultado pedido?
Gracias de antemano.
Tengo un programa para hacer en perl que permite poner en negrita y resaltado en amarillo la secuencia final atada a la forma flexionada de los nombres (ejemplos: familiaridad/NOM/familiaridad).
La etiqueta que hay que insertar en la función de sustitución, para resaltar la secuencia ‘ité’ en amarillo y ponerla en negrita, es la siguiente:
<b style="background:yellow;">ité</b>
Aquí está el programa que he creado:
print "<x-html><html><body>\n"; while(<>) { chomp; $ligne=$_; $ligne =~ s/NOM/ite\/<b style="background:yellow;">ité</b>/g; print "$ligne <br> \n"; } print "</body></html></x-html>\n"; Tengo un problema porque este programa no funciona, ¿alguien podría explicarme cómo hacerlo para que funcione correctamente y obtenga el resultado pedido?
Gracias de antemano.
| EDIT : Añadido de las etiquetas de código (coloración sintáctica). Explicaciones disponibles aquí : AQUÍ Gracias por pensarlo en tus próximos mensajes. |
1 respuesta
Hola,
El slash debe escaparse en la regexp, porque es el delimitador por defecto de sus diferentes partes. No lo haces solo para un slash, y no para el que está contenido al final en "</b>" (que en lógica deberías querer, con razón, escapar).
Si corregimos tu regexp escapando "</b>" así "<\/b>", la regexp
- buscas todas las ocurrencias de "NOM"
- las reemplazas por "ite/<b style="background:yellow;">ité</b>"
En realidad, dudo que eso sea realmente lo que quieres hacer.
Lo más simple es que des varios ejemplos de texto, líneas completas sin formato que puedan aparecer en $ligne y que des el resultado deseado para cada una.
Dal
El slash debe escaparse en la regexp, porque es el delimitador por defecto de sus diferentes partes. No lo haces solo para un slash, y no para el que está contenido al final en "</b>" (que en lógica deberías querer, con razón, escapar).
Si corregimos tu regexp escapando "</b>" así "<\/b>", la regexp
s/NOM/ite\\/<b style="background:yellow;">ité<\/b>/gsignifica que :
- buscas todas las ocurrencias de "NOM"
- las reemplazas por "ite/<b style="background:yellow;">ité</b>"
En realidad, dudo que eso sea realmente lo que quieres hacer.
Lo más simple es que des varios ejemplos de texto, líneas completas sin formato que puedan aparecer en $ligne y que des el resultado deseado para cada una.
Dal