2012-12-13 23 views
0

我知道,只是检查了很多这个问题的答案。但我觉得我必须用我的具体例子来问自己。这里有云的例子:如何在html标签之间使用php?

<?php if($i==1){?><div class=yel><?php echo "Today at $hour:$min $ampm<br/> Event: $event<br/> Place: $place<br/> Description: $desp<br/> Contact info: $info";?></div><?php } ?> 

它的工作在我的电脑,但是当我试图在其他PC这个代码它遇到错误(解析,语法)。相信我,我在几台电脑上尝试过。但没有结果。和我的电脑相同的代码工作正常。

所以最后我决定我的代码不够整洁。所以我的代码可能有些问题,我无法注意到。你看我开始&结束PHP块一次又一次。你很清楚我为什么这么做。其实我试图避免在php块内的标签。所以我的问题是,是否有更高效的方法在PHP块中使用DIV标记或任何其他标记?提前谢谢。

回答

4

这是不是更简单明白眼睛?

<?php 

if($i==1){ 
    echo "<div class=yel>"; 
    echo "Today at $hour:$min $ampm<br/> Event: $event<br/> Place: $place<br/> Description: $desp<br/> Contact info: $info"; 
    echo "</div>"; 
} 


?> 
+0

是的。所以我不需要一次又一次地开始和结束php块。您只使用了一个php块,并且还将div标签放入了回显中。我不知道它的div标签在回声中工作。非常感谢。 –

1

使用,如果和ENDIF:

<?php if($i==1): ?> 
<div class=yel> 
<?php 
echo "Today at $hour:$min $ampm<br/> Event: $event<br/> Place: $place<br/> Description: $desp<br/> Contact info: $info"; 
?> 
</div> 
<?php endif; ?> 

虽然我个人会用MAXIM的回答

+0

所以我也是。谢谢克里斯托弗。 –

3

使用冒号,而不是括号。也用endif关闭它。

<?php if($i == 1): ?> 
    <div class=yel> 
     <?php echo "Today at $hour:$min $ampm<br/> Event: $event<br/> Place: $place<br/> Description: $desp<br/> Contact info: $info";?> 
    </div> 
<?php endif; ?> 

您还可以使用短标签(需要通过php.ini启用)才能使事情更清洁。

<? if($i == 1): ?> 
    <div class=yel> 
     <?="Today at $hour:$min $ampm<br/> Event: $event<br/> Place: $place<br/> Description: $desp<br/> Contact info: $info"?> 
    </div> 
<? endif; ?> 
+0

在这里,我注意到你使用'='而不是回声。所以这对我来说又是一件新事物。非常感谢。 –

1

我可能会用定界符去:

if($i == 1) echo <<< HTML 
    <div class="yel"> 
     Today at {$hour}:{$min} {$ampm}<br/> 
     Event: {$event}<br/> 
     Place: {$place}<br/> 
     Description: {$desp}<br/> 
     Contact info: {$info} 
    </div> 
HTML; 

当你有HTML包含here文档被它那种做了几个少数几个变量。很好,很干净。

+0

我更喜欢Maxim的代码,无论如何。 –

相关问题