php 和 html 之间不需要的 space

Unwanted space between php and html

我有这段代码,问题是每个逗号前有一个空的space。

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

我可以做些什么来修复它但让代码可读吗?我知道我可以将所有内容连接在一起,但它会变得难以阅读和维护

这个:

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

在 PHP 脚本中,任何不在 <?php ... ?> 标签内的 都被视为输出。你那里有一个空行,所以你正在输出一个空行,它将被你的浏览器呈现为 space。

php模式的重复跳跃in/out恰好有零点:

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

只是为 read/maintain 编写了非常难看的代码。进入 PHP 模式后,请保持 PHP 模式,尤其是当您要跳 in/out:

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

如果我是,我只会使用一个 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;

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;

?>