2013-02-09 17 views
5

Ich weiß, das ist eine grundlegende PHP-Frage, aber ich habe Probleme beim Anzeigen von Variablen in einem Echo von HTML. Unten ist, was ich versuche zu erreichen.PHP Echo Variable und HTML zusammen

<?php 
    $variable = 'testing'; 
    echo <span class="label-[variable]">[variable]</span> 
?> 

sollte eine Ausgabe:

<span class="label-testing">testing</span> 
+0

Sie benötigen zitieren die Saiten http://php.net/manual/en/language.types.string.php –

Antwort

7
<?php 
    $variable = 'testing'; 
    echo <span class="label-[variable]">[variable]</span> 
?> 

Sollte

<?php 
    $variable = 'testing'; 
    echo '<span class="label-' . $variable .'">' . $variable . '</span>'; 
?> 
2

Wenn Ihr HTML doppelte Anführungszeichen enthält, dann können Sie es in einfache Anführungszeichen wickeln:

echo '<span class="label-' . $variable . '">' . $variable . '</span>'; 

Zusätzlich können Sie es tun inline durch das entweichende doppelte Anführungszeichen:

echo "<span class=\"label-$variable\">$variable</span>"; 

Die Verwendung von Anführungszeichen erlaubt auch Sonderzeichen wie \n und \t.

Die documentation ist dein Freund.

0

sein, wenn Sie sagen, dass $variable der Name der Variablen, die Sie drucken möchten, wollen Sie dies:

echo "<span class=\"label-$variable\">${$variable}</span>"; 

Die ${$variable} Syntax sagt PHP drucke die Variable namens $ variable. PHP nennt diese variable variables.

So zum Beispiel:

$itemName = 'pencil'; 
$variable = 'itemName'; 
echo "<span class=\"label-$variable\">${$variable}</span>"; 
//Prints: <span class="label-itemName">pencil</span>" 
0

Es ist zu grundlegende Frage hier gefragt werden ...

<?php 
    $variable = 'testing'; 
    echo '<span class="label-[' . $variable . ']">[' . $variable . ']</span>; 
?> 
+0

Simpeler unten beantworten. Anscheinend ist es nicht so einfach ... – metatron

0

So etwas sollte funktionieren.

<?PHP 
    $variable = 'testing'; 
    echo "<span class=\"label-$variable\">$variable</span>"; 
?> 

Die Art der Anführungszeichen auf dem Echo sind jedoch sehr wichtig. Wenn Sie lieber einfache Anführungszeichen auf dem Echo verwenden, wäre es eher so.

<?PHP 
    $variable = 'testing'; 
    echo '<span class="label-' . $variable . '">' . $variable . '</span>'; 
?> 

Dies sollte Ihnen ermöglichen, die Variable zurückzusenden.

1

Meine bevorzugte Methode der PHP-Variablen in HTML ist über eine heredoc:

<?php 
    $variable = 'testing'; 
echo <<<TEXT 
    <span class="label-{$variable}">{$variable}</span> 
TEXT; 
?> 

<<<TEXT and TEXT; kann auf jeden Tag geändert werden Sie wollen, und Sie brauchen keine HTML mit Zitaten oder \ zu entkommen. Stellen Sie nur sicher, dass alle PHP-Variablen in {} enthalten sind. Dies zeigt Variablen nicht als Zeichenfolgen in einem PHP-Editor an und behält die Farbsyntax für HTML bei; Das ist definitiv ein Plus im Vergleich zum String-Quoting.

Sie können mehr über heredoc lernen Here:

1

Ich weiß, dass dies eine alte Frage, aber was mit so etwas wie dies falsch ist?

<?php 
    $variable = 'testing'; 
?> 
<span class="label-<? echo variable ?>"><? echo variable ?></span> 
0
<?php 
$variable = 'testing'; 
echo '<span class="label-'.$variable.'">'.$variable.'</span>'; 
?> 
0

Dies funktioniert auch und ist viel süßer:

<?php 
    $variable = 'testing'; 
    echo "<span class='label-$variable'>$variable</span>"; 
?> 

Bestellen von Doppel- und Apostroph Angelegenheiten, doppelte Anführungszeichen auf der Außenseite. Seien Sie vorsichtig, wenn Sie diese Syntax verwenden, wenn der Variablenname von normalen Zeichen gefolgt wird, können die Dinge schrecklich schief gehen. Lockige Klammern um Variablennamen sind dann erforderlich.

Beispiel:

<?php 
    $max_image_with = 1000; 
    echo "<div style='width:${max_image_width}px;'>"; 
?> 

Dokumentation hier: http://php.net/manual/en/language.types.string.php#language.types.string.parsing

0

PHP-Code ... Es funktioniert

<?php 
$st_a = '<i class="fa fa-check-circle" ></i> Active'; 
?> 

in HTML So zeigen

<h1> Sample Heading <?php echo $st_a; ?></h1>