2016-07-26 6 views
3

Ich habe diesen Code, das Problem ist, dass vor jedem Komma ein Leerzeichen steht.Unerwünschter Platz zwischen PHP und HTML

Name Lastname , (1990.) , Title ... 

Es sollte

sein
Name Lastname, (1990.), Title ... 

I-Daten in diesem Format echo haben müssen.

ob_start(); 

... 

<?php // DATE ?> 
<?php if(!empty($ref['godina_izdanja'])) : 
echo ', (<span class="date">' . $ref['godina_izdanja'] . '</span>.)'; 
endif; ?> 

<?php // TITLE?> 
<?php if(!empty($ref['title'])) : 
echo ', <em><span class="title">' . $ref['title'] . '</span></em>'; 
endif; ?> 

Gibt es etwas, das ich es zu beheben tun könnte, aber Code lesbar zu haben? Ich weiß, dass ich alles zusammen verketten kann, aber es wird hart werden

+1

Es kann die Linie zwischen?>

Antwort

11

Dies zu lesen und mantain:

endif; ?> 
          <----right here 
<?php // TITLE?> 

In einem PHP-Skript, ANYTHING, die nicht innerhalb <?php ... ?> Tags ist als Ausgabe behandelt. Sie haben dort eine Leerzeile, also geben Sie eine Leerzeile aus, die von Ihrem Browser als Leerzeichen gerendert wird.

Es gibt genau Nullpunkt wiederholt Hopping in/aus dem PHP-Modus:

<?php echo 'hi'; ?> 
<?php echo 'mom'; ?> 

nur für massiv hässlichen Code macht zu lesen/aufrechtzuerhalten. Sobald Sie in der PHP-Modus sind, bleiben in der PHP-Modus, vor allem, wenn Sie gehen nur in hop/out:

<?php 
echo 'hi'; 
echo 'mom'; 
?> 
0

Wenn ich wäre, würde ich eine nur

PHP Block verwendet
<?php 

// DATE 
if(!empty($ref['godina_izdanja'])) : 
    echo ', (<span class="date">' . $ref['godina_izdanja'] . '</span>.)'; 
endif; 

// TITLE 
if(!empty($ref['title'])) : 
    echo ', <em><span class="title">' . $ref['title'] . '</span></em>'; 
endif; 
0

Je weniger Php Tags, desto weniger Verwirrung. Wenn Sie zwischendurch wirklich html verwenden müssen, versuchen Sie, Leerzeichen zu vermeiden, während Sie in PHP-Tags ein- und ausgehen.

<?php 
ob_start(); 

... 

// DATE 
if(!empty($ref['godina_izdanja'])) : 
echo ', (<span class="date">' . $ref['godina_izdanja'] . '</span>.)'; 
endif; 

// TITLE 
if(!empty($ref['title'])) : 
echo ', <em><span class="title">' . $ref['title'] . '</span></em>'; 
endif; 

?>