Homer: HTML Code mit PHP ausgegben - Arraystyle ?

Hallo,

ich gebe HTML Code mit PHP aus und lese ein Array aus:

foreach($array as $arrayWert)  
{  
					  
echo "<h3 style=\"height: 30px;\">".$arrayWert."</h3>";			  
					  
}

Wenn ich mir den Code im Browser anzeigen lasse, steht dort

<h3 Arraystyle="height: 30px;">arrayWert</h3>

Der CSS Code scheint dadurch ignoriert zu werden. Wie kann man vermeiden, dass "Arraystyle" geschrieben wird und dort ganz normal style steht?

Gruß
Homer

  1. Tach!

    ich gebe HTML Code mit PHP aus und lese ein Array aus:

    foreach($array as $arrayWert)

    echo "<h3 style="height: 30px;">".$arrayWert."</h3>";

    
    >   
    > Wenn ich mir den Code im Browser anzeigen lasse, steht dort  
    > `<h3 Arraystyle="height: 30px;">arrayWert</h3>`{:.language-html}  
      
    Der obige Code passt nicht zur Ausgabe. Das "Array" kommt nicht durch Zauberhand in die Ausgabe. Zwischen h3 und style steht noch eine andere Ausgabeanweisung oder ein Variablenname. Und da hast du vermutlich ein komplettes Array angesprochen und nicht nur ein Element daraus. Ein Array auszugeben führt unter PHP dazu, dass nur der String "Array" in der Ausgabe landet.  
      
      
    dedlfix.
    
  2. @@Homer:

    nuqneH

    Wenn ich mir den Code im Browser anzeigen lasse, steht dort

    <h3 Arraystyle="height: 30px;">arrayWert</h3>

    Bei mir nicht.

    foreach($array as $arrayWert)

    {

    echo "<h3 style="height: 30px;">".$arrayWert."</h3>";

    }

      
    Der PHP-Code ist unsinnig.  
      
    Wenn du doppelte Anführungszeichen verwendest, dann aus dem Grund, dass Variablen aufgelöst werden. Du also  
      
    ~~~php
    echo "<h3 style=\"height: 30px;\">$arrayWert</h3>";  
    
    

    schreiben kannst. Oder

    echo "<h3 style='height: 30px;'>$arrayWert</h3>";  
    
    

    um nicht escapen zu müssen.

    Wenn du keine Variablen auflösen nicht willst, verwende stets einfache Anfährungszeichen:

    echo '<h3 style="height: 30px;">'.$arrayWert.'</h3>';  
    
    

    Ich würde aber das HTML-Markup nicht mit echo generieren, sondern den Code so schreiben:

    <?php [code lang=php]foreach($array as $arrayWert): ?>
       <h3 style="height: 30px;"><?php echo $arrayWert; >?</h3>
    <?php endforeach; ?>
    [/code]

    Der HTML-Code ist immer noch unsinnig: Sämtliche Stilangaben sollten im Stylesheet stehen, nicht inline in @style-Attrbuten.

    Mehrere h3-Überschriften hintereinander ohne Inhalt dazwischen machen keinen Sinn. Missbrauchst du h3 für Darstellungszwecke?

    Qapla'

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
    1. Tach!

      Ich würde aber das HTML-Markup nicht mit echo generieren, sondern den Code so schreiben:

      <?php [code lang=php]foreach($array as $arrayWert): ?>
         <h3 style="height: 30px;"><?php echo $arrayWert; >?</h3>
      <?php endforeach; ?>
      [/code]

      Achja, das hatte ich in meiner Antwort noch vergessen, da fehlt auch noch ein htmlspecialchars() um das $arrayWert - jedenfalls in aller Regel. Vermutlich sind die Inhalte des Arrays noch nicht HTML-gerecht aufbereitet, denn beim vorhergehenden Verarbeiten will man ja die Rohdaten haben, ohne ausgabespezifische Verunstaltungen.

      dedlfix.

      1. @@dedlfix:

        nuqneH

        <h3 style="height: 30px;"><?php [code lang=php]echo $arrayWert; >?</h3> [/code]

        Ups, '>' und '?' natürlich andersrum. Nicht dass sich jemand beschwert, dass es nicht laufen würde.

        Achja, das hatte ich in meiner Antwort noch vergessen, da fehlt auch noch ein htmlspecialchars() um das $arrayWert - jedenfalls in aller Regel.

        Ja, auch das.

        <h3 style="height: 30px;"><?php [code lang=php]echo htmlspecialchars($arrayWert); ?></h3> [/code]

        Qapla'

        --
        „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)