Matthias Reitinger
ɐɯıǝɹ
Woher kommt mir der Spruch nur bekannt vor (s.u.) ;-) Bei so kleinen Dreizeilern habe ich keine Skrupel, etwas fertiges zu liefern. Wenn der Fragende die genauen Hintergründe verstehen will, kann er sich ja immer noch die Dokumentation zu den verwenden Funktionen zu Gemüte führen oder im Thema nochmal nachhaken. Aber das alles ist hier ja eigentlich sowiesoGib jemandem einen Fisch und er wird einen Tag lang satt.
Lehre ihn das Fischen und er kann sich sein Leben lang ernähren.
Und "Einzeilen-Postings".
Vergesst mir bei dem ganzen bloß nicht, dass src in mehreren Varianten auftauchen kann, die nicht immer ganz valide seien müssen.
HTML:<img src="bild"> <img src='bild'> <img src=bild> <img src=bild /> <img src = " bild " > ..........
Ruby:
require 'rubygems'
require 'hpricot'
require 'test/unit'
def get_path(str)
Hpricot(str).search("img").first["src"]
end
class HTMLParserTest < Test::Unit::TestCase
CASES = [
"<img src=\"bild\">",
"<img src='bild'>",
"<img src=bild>",
"<img src=\"bild\" />",
"<img src='bild' />",
"<img src=bild />",
"<img src = \" bild \" >",
"<img src = ' bild ' >",
"<img src = bild />",
"<img src = \"bild\" >",
]
def test_get_path
CASES.each do |html|
assert("bild", get_path(html))
end
end
end
Code:
1 tests, 10 assertions, 0 failures, 0 errors
Grüße, Matthias