Sustituir tags


#1

Hola hola!!

Tengo un controlador que necesita hacer una sustitución del código HTML.
tengo un objeto <param …><param
…> típico del código que te incrusta Youtube en el
HTMl. Pues bien, al editar el contenido me gustaría que se viera con el
formato [youtube=]. El link ya lo he sabido extraer con una serie
de
expresiones regulares pero la expresion regular para hacer la
substituciónde … se me resiste. Además sólo me interesa que me de
el primer que encuentre porque en el caso de haber
másla extracción de la URL se ha de hacer de nuevo, es decir se ha de volver
a hacer todo el proceso. Me han comentado que para hacer ésto es mejor un
parseador HTML o XML que usar expresiones regulares… en este caso, que
expresion regular debería utilizar? Y si creen que he de utilizar un
parseador… qué parseador he de usar? hay documentación y ejemplos?

Gracias por todo!

Saludos!

jabberID: removed_email_address@domain.invalid
blog: http://llibertat.wordpress.com
SIP: removed_email_address@domain.invalid


#2

Hola Hector…

El día 3/05/07, Hector Muñoz removed_email_address@domain.invalid escribió:

a hacer todo el proceso. Me han comentado que para hacer ésto es mejor un
parseador HTML o XML que usar expresiones regulares… en este caso, que
expresion regular debería utilizar? Y si creen que he de utilizar un
parseador… qué parseador he de usar? hay documentación y ejemplos?

Quizá si nos pones un ejemplo más concreto de código a sustituir, y como
debería quedar, se nos pueda ocurrir cómo hacer. Supongo que lo suyo
será
usar un parser de HTML como Hpricot [1]. Es un tema interesante y
complicudo. :stuck_out_tongue:

[1] http://code.whytheluckystiff.net/hpricot/


#3

On May 3, 2007, at 5:55 PM, Hector Muñoz wrote:

expresiones regulares pero la expresion regular para hacer la
substitución
de … se me resiste. Además sólo me interesa que
me de
el primer que encuentre porque en el caso de
haber más
la extracción de la URL se ha de hacer de nuevo, es decir se ha de
volver
a hacer todo el proceso.

Si el HTML esta controlado como para que una regexp sea una
aproximacion robusta puede que te sirva sencillamente algo asi:

html.sub(r%{<object.*?}m, “[youtube=#{link}]”)

– fxn