Rolf B: div in div mit bild

Beitrag lesen

Hallo PHP-Neuling,

$anhangformat = substr($Datensatz['ANHANG'],-3);
IF($anhangformat == "png" OR $anhangformat == "jpg" OR $anhangformat == "jpeg") {	?>	

Das ist jetzt erstmal auch nicht deine Frage, aber wenn Du die letzten 3 Stellen herausholst, wirst Du "datei.jpeg" nicht erkennen. Du wirst "datei.mypng" fälschlich als PNG erkennen. Und ein User, der seine Groß-/Kleinschrift genauso kreativ wählt wie Du, könnte die Abfrage mit einem "DAS_BILD.JPG" ebenfalls abschießen.

Du könntest substr_compare verwenden:

if (substr_compare($Datensatz['ANHANG'], '.png', -4, true) == 0 ||
    substr_compare($Datensatz['ANHANG'], '.jpg', -4, true) == 0 ||
    substr_compare($Datensatz['ANHANG'], '.jpeg', -5, true) == 0)
{
   // ...
}

oder Du könntest mit strrpos den letzten Punkt finden, den Text rechts davon herausholen und den case insensitive vergleichen

oder Du könntest preg_match verwenden, um den Test mit einem regulären Ausdruck einer Regex durchzuführen

if (preg_match("/.*\.(png|jpe?g)$/i", $Datensatz['ANHANG']) === 1) {
   // ...
}

Jetzt zu deinem Problem.

Dein Bild hängt aus dem DIV heraus, weil es gefloatet ist. Damit verlässt es den normalen Elementfluss. Ich nehme nicht an, dass Du das willst. Insbesondere wird das a Element dadurch 0 Pixel breit, was zu visueller Irritation führt wenn man mit Tab durch die Links läuft.

Als Mindestlösung sollte der Float vom Bild auf das a Element verschoben werden, damit die beiden beieinander bleiben.

Statt zu diskutieren, wie man ein float einfängt (Spoiler: Mit einem Blockformatierungskontext), würde ich lieber fragen, weshalb Du das Bild rechts floatest. Soll anderer Text drumherum fließen? Ggf. bräuchte man da mehr von der Seite, um das zu verstehen, einen visuellen Eindruck von der aktuellen Darstellung im Gesamtkontext und vielleicht auch eine Skizze, wie es eigentlich aussehen soll.

Rolf

--
sumpsi - posui - obstruxi