Hola, ¿sabéis si hay alguna función que nos convierta un trozo de HTML
en el texto que contiene, pero sin marcas HTML? Vamos, como se verÃa si
lo pegáramos en un editor de texto plano…
s2
Hola, ¿sabéis si hay alguna función que nos convierta un trozo de HTML
en el texto que contiene, pero sin marcas HTML? Vamos, como se verÃa si
lo pegáramos en un editor de texto plano…
s2
Yo conozco el sanitize de Brad Choate, que es refrito de uno hecho en
Perl.
2008/9/15 Fernando C. [email protected]:
y para cepillarse todas las etiquetas html sin contemplación:
http://codesnippets.joyent.com/posts/show/615
salud!
Francesc E. escribió:
Ojo. Ese código no está bien.
str = <<-HTML_TEXT
Un saludo,
Francesc
2008/9/15 Andrés gutiérrez [email protected]:
Aunque la expresión regular si que parece que funciona, pero creo que
habrÃa que refinarlo para hacer lo que Fernando pedÃa, ya que por
ejemplo habrÃa que convertir los br’s en saltos de lÃnea en lugar de
eliminarlos del todo…
Saludos
Francesc E. escribió:
te servira verificar el Content-length ??request.content_length
if request.content_length.to_i > tamanio_max_permitido
render :text => ‘Archivo demasiado grande’
return
end
o algo similar
El 15 de septiembre de 2008 10:17, Fernando C. <
[email protected]> escribió:
HTML generico y regexps se llevan fatal. Si el HTML lo controlas esta
OK, si es arbitrario entonces hay que tirar de un parser:
require 'rubygems'
require 'hpricot_scrub'
require 'open-uri'
doc = Hpricot(open('http://www.amazon.com').read)
puts doc.scrub
Ahora bien, no te esperes el rendering super-guapo de lynx and
friends, eso saca algo bastante feo porque quitar los tags es solo un
paso hacia el texto. Si quieres algo mas añañado y tiene sentido en tu
app simplemente llamaria a sistema. Por ejemplo:
elinks -dump -no-numbering -no-references http://www.elpais.com
Si, la expresión regular funciona. EstarÃa genial que cuando alguien
sube algo de código incluya el test.
Pero esto…
str = <<HTML_TEXT
Change this error message for exceptions thrown outside of an action (like in Dispatcher setups or broken Ruby code) in public/500.html
HTML_TEXTputs str.gsub(/</?[^>]*>/, “”)
… va a muy a saco no?
El 15 de septiembre de 2008 17:49, Borja MartÃn
[email protected]escribió:
Borja MartÃn wrote:
y para cepillarse todas las etiquetas html sin contemplación:
He encontrado el strip_tags(html), que parece la solución perfecta:
http://api.rubyonrails.com/classes/ActionView/Helpers/SanitizeHelper.html
El tema está en que me da un error undefined method `strip_tags’…
¿hace falta indicar de algún modo que cargue el SanitizeHelper?
s2
El tema está en que me da un error undefined method `strip_tags’…
¿hace falta indicar de algún modo que cargue el SanitizeHelper?
Me da este error porque trato de acceder desde un controller, en la
vista accede sin problemas; ¿cómo accedo desde el controller?
2008/9/15 Fernando C. [email protected]
El tema está en que me da un error undefined method `strip_tags’…
¿hace falta indicar de algún modo que cargue el SanitizeHelper?Me da este error porque trato de acceder desde un controller, en la
vista accede sin problemas; ¿cómo accedo desde el controller?
Manuel González Noriega wrote:
2008/9/15 Fernando C. [email protected]
El tema está en que me da un error undefined method `strip_tags’…
¿hace falta indicar de algún modo que cargue el SanitizeHelper?Me da este error porque trato de acceder desde un controller, en la
vista accede sin problemas; ¿cómo accedo desde el controller?
MuchÃsimas gracias!!
En mi caso concreto, serÃa:
def help
Helper.instance
end
class Helper
include Singleton
include ActionView::Helpers::SanitizeHelper
end
y ya funciona esto:
txt = help.strip_tags @articulo.texto_completo
s2
En mi caso concreto, serÃa:
def help
Helper.instance
end
class Helper
include Singleton
include ActionView::Helpers::SanitizeHelper
endy ya funciona esto:
txt = help.strip_tags @articulo.texto_completo
Y más variantes, aquÃ:
Aunque a mà no me ha funcionado esto:
txt =
Object.new.extend(ActionView::Helpers::SanitizeHelper).strip_tags
@articulo.texto_completo
Hola, justo ayer estaba buscando esto para meter un method de un helper
en
un modelo,
lo que hice fue
include ActionView::Helpers::NumberHelper
class MyModel < ActiveRecord::Base
…
está bien esto? o ¿hay alguna forma mas elegante de hacerlo ?
probé lo de snnipets.dzone tambien, pero no me funcionó en el modelo ,
por
eso puse el include directamente.
Saludos
www.artenlinea.cl
On Mon, Sep 15, 2008 at 2:10 PM, Fernando C. <
Puedes meterle un helper :all al ApplicationController o afinar más al
helper que quieras.
Echale un ojo al método helper de ActionController:
http://api.rubyonrails.org/classes/ActionController/Helpers/ClassMethods.html#M000681
2008/9/15 Fernando C. [email protected]
2008/9/15 Fernando C. [email protected]
Hola, ¿sabéis si hay alguna función que nos convierta un trozo de HTML
en el texto que contiene, pero sin marcas HTML? Vamos, como se verÃa si
lo pegáramos en un editor de texto plano…
Depende de el caso, a veces prefiero tirar de comandos del sistema.
html2text (port install html2text o apt-get install html2text es un
programa
muy extendido que además formatea cosas como tÃtulos, para que quede más
bonito.
por lo que quedarÃa algo asÃ:
Kakafuti2:nasa.gov guillermo$ irb
def html2text(text)
html = IO.popen(“html2text”,“r+”)
html.write text
html.close_write
html.read
end
=> nil
puts html2text(“\n\nTÃa
\n\n”)
- que no pare
ninguno- Nos movemos los dos
- Lo mismo pero al
reves- …
****** TÃa ******
Mi experiencia me dice que si se puede evitar hacer llamadas a sistema
mejor. En el caso de que no hubiera más remedio que hacerlo yo creo
que cachearia el resultado en un campo de la tabla tal como
html_stripped o algo asÃ.
De cualquier modo, creo que cachearia los datos parseados para quitar
carga de proceso.
Comentar también que yo creo tiene sentido procesar esos datos desde
el modelo y no desde la vista porque asà si por ejemplo estamos
parseando contenido de otras webs, podemos acceder directamente desde
los modelos.
Hola,
La forma elegante, creo, es que no deberÃas de hacer cosas que afecten a
la
vista en el modelo, y por lo tanto, no te deberÃa de hacer falta usar
helpers en el modelo. Quizás has de repensar lo que quieres hacer, antes
que
hacer eso, pero bueno, es solo una opinión.
Saludos,
2008/9/15 Miguel M. [email protected]
2008/9/15 Francesc E. [email protected]:
Mi experiencia me dice que si se puede evitar hacer llamadas a sistema
mejor.
Bueno, eso asi de general no lo comparto. Las llamadas a sistema son
un recurso valido en funcion de la aplicacion. Por eso existe
mini-magick, algunos tipos sospechosos generan PDF usando pdflatex,
etc. Depende.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs