Andreas Flückiger: Text zwischen zwei HTML-Tags

Beitrag lesen

Hallo Poldi

if ($htmltext =~ /<a[^>]>(.*?)</a>/i)
Müsste nach [^>] nicht noch ein * hin?

Uuups - natürlich. (Sorry.)

Tatsaechlich hat aber weder das eine noch das andere funktioniert. Keine Ahnung wieso.

Bei </a> muss noch das / maskiert werden:
if ($htmltext =~ /<a[^>]*>(.*?)</a>/i)

Hab's dann so gemacht: if ($htmltext =~ />(.+)</a>/)

Dies funktioniert allerdings nur, wenn der zu durchsuchende Text aus nur *einem* HTML-Tag besteht und </a> klein geschrieben ist.

und dann hat's ploetzlich geklappt. Hab ich aus irgendeinem Buch. Nur weiss ich nicht
WIESO das funktioniert hat und das andere nicht ...

Beim zweiten Beispiel wurde / maskiert. Allerdings wurde beim maskieren etwas übertrieben.
if ($htmltext =~ />(.+)</a>/)
würde auch reichen.

Gruss
Andreas