2016-07-26 115 views
3

我有這段代碼,問題是在每個逗號前都有一個空的空格。php和html之間不需要的空間

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

應該

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

我必須使用echo這種格式的數據。

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; ?> 

有什麼我可以做的,以解決它,但有代碼可讀?我知道我可以Concat的一切融合在一起,但它會變得難以閱讀和十個分量

+1

它可以是??<?php // TITLE?標籤。 –

回答

11

此:

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

在PHP腳本,ANYTHING這不是內<?php ... ?>標籤被視爲輸出。你有一個空行,所以你輸出一個空行,它將被瀏覽器渲染爲一個空格。

有中/反覆跳了PHP模式正是零點:

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

只是使爲大規模醜陋的代碼讀取/維持。一旦你在PHP模式的時候,留在PHP模式,特別是如果你只是要跳/出:

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

如果我是你,我只用一個PHP塊

<?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

越少的Php標籤,混亂越少。如果您確實需要在兩者之間使用html,請儘量避免在進出php標籤時使用空格。

<?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; 

?>