formatear a html datos y links dentro de un campo mysql

punchik punchik punchikk en yahoo.com
Mar Jun 17 06:43:33 CEST 2008


hola, gracias por tu respuesta, me parece interesante eso que propones de darle dos clicks a la palabra , para buscarla solo una vez.
Tienes algun ejemplo o tutorial de como hacer esto?
o por donde podria empezar? por ejemplo como hacer para que con dos clicks en una palabra haga la llamada via html form al script del servidor?
gracias


--- On Mon, 6/16/08, Alexis Roda <alexis.roda.villalonga en gmail.com> wrote:

> From: Alexis Roda <alexis.roda.villalonga en gmail.com>
> Subject: Re: [Python-es] formatear a html datos y links dentro de un campo mysql
> To: "Lista de discusión sobre python en castellano" <python-es en aditel.org>
> Date: Monday, June 16, 2008, 1:29 PM
> En/na punchik punchik ha escrit:
> > hola amigos, tengo dos preguntas: 
> >  tengo una base de datos en mysql  , la base de datos
> de una tabla con un diccionario, osea dos campos, la
> palabra y su descripcion, luego hize un pequeno script en
> python que va en el servidor y lee de un pagina web via
> formularios la palabra que la gente intruduce y luego
> conecta con la base de datos e imprime como html el
> resultado. La pregunta que tengo es, mis descripciones son
> bastantes largas y me gustaria que el html que se genera
> con la descripcion respete los saltos de lineas, para que
> se vea mas ordenado, ya que el script de python imprime
> todo , sin respetar salto de lineas.  como podria hacer
> esto?
> > 
> 
> Tienes que incluir etiquetas HTML. Puedes probar con algo
> como:
> 
> for parrafo in definicion.split('\n') :
>    print "<p>%s</p>" % parrafo
> 
> > ademas me gustaria que si aparece en mi descripcion
> alguna palabra que   tambien esta en el campo 
> "palabra"   que se formatee como hiperlink o link
> para darle click y ver la descripcion de esa palabra sin
> tener que estar regresando y tipeando la palabra en el
> formulario.
> 
> Esto es mas complicado de implementar bien.
> 
> La idea básica es iterar sobre la definición palabra por
> palabra, 
> buscarla en la base de datos y dependiendo de si existe o
> no generar 
> código HTML para un link o texto. Algo como:
> 
> import re
> separador = re.compile('\W+')
> 
> def existe_palabra(palabra) :
>    # busca la palabra en la base de datos, si la encuentra
>    # devuelve True, sino False
> 
> for palabra in separador.split(definicion) :
>    if existe_palabra(palabra) :
>      print "<a
> href="URL?termino=%s">%s</a>" %
> (palabra, palabra)
>    else :
>      print palabra
> 
> Tiene varios problemas:
> 
> 1. la palabra debe coincidir exactamente con lo que hay en
> la base de 
> datos. Si el texto dice "casas" y en la BD dice
> "casa" no la encontrará 
> y no generará el link.
> 
> 2. tal como lo he puesto en el ejemplo se pierden los
> saltos de linea
> 
> 3. es muy ineficiente, cada palabra requiere una consulta a
> la base de 
> datos.
> 
> 4. si una misma palabra aparece dos veces requiere dos
> consultas.
> 
> 
> Personalmente me gusta la solución para 3 i 4 de:
> 
> http://dictionary.cambridge.org/define.asp?key=75675&dict=CALD
> http://ec.grec.net/lexicx.jsp?GECART=0007813
> 
> si haces doble click sobre una palabra se dispara una
> búsqueda. De esta 
> forma solo compruebas si existe una palabra cada vez, si
> existe muestras 
> la definición y sino un mensaje de error.
> 
> 
> 
> 
> Saludos
> _______________________________________________
> Lista de correo Python-es 
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes


      
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es