PHP和HTML格式,超级基本问题

时间:2011-08-18 19:24:51

标签: php html formatting

我进入了代码中的一个阶段,我的代码太多了,太多的HTML依赖于某些服务器条件的后果。

我只是想知道,有没有办法绕过:

<?php if (cond) echo '<p class="someclass">some HTML</p>'; ?> 

我只是希望在C中有类似的东西,你可以简单地说:

#ifdef x 
    do_a_lot_of_html_stuff;
#endif

我现在能看到的就是:

<?php if (x) require_once("includes/all_needed_part.php"); ?>

谢谢!

10 个答案:

答案 0 :(得分:6)

不完全确定你在问什么,所以如果我正确理解你的问题,你是否正在寻找一种用PHP打印HTML块的方法?

<?php if ($a == $b): ?>
  <div>a == b</div>
  <p>a is equal to b</p>
<?php else: ?>
  <div>a != b</div>
  <p>a is not equal to b</p>
<?php endif; ?>

答案 1 :(得分:2)

我通常这样做:

<?
    function print_heading()
    {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title><? print_title(); ?></title>
    <link rel="stylesheet" type="text/css" href="..." />
    <script language="javascript" type="text/javascript" src="..."></script>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="title" content="<? print_title(); ?>" />
</head>
<?
    }
?>

但我认为用function print_heading()替换if (condition)也会有用。

答案 2 :(得分:1)

还有另一种语法:

<?php if($x): ?>
do_a_lot_of_html_stuff;
<?php endif; ?>

答案 3 :(得分:1)

您可以在PHP条件之间添加HTML,如下所示:

<?php 
$a=1;
if($a==1){ ?>
<div>All the HTML Stuffs</div>
<?php } ?>

答案 4 :(得分:0)

答案 5 :(得分:0)

您可以执行以下操作:

<?php if( cond ) { ?>
    SECRET!
<?php } ?>

答案 6 :(得分:0)

我建议您查看一个template engine,其中许多是PHP存在的,其中一个最成熟的是Smarty。其中一个较新(和更清洁)的解决方案是Twig,由Symphony framework使用。

答案 7 :(得分:0)

你可以使用类似的语法,但仍然可以做很多像。

这是使用c语法的典型php方法。

<?php
    if(1==1):
        echo 'i can do lots of stuff here';
        $variable = 'i hold some value';
        $array = array('1','two','three');
    endif;
?>

您可以实现的另一种方法是使用括号。例如。

<?php
if(condition) {
   //do some stuff here
} else if(cond) {
   //do another stuff here based on some conditions 
} else if(cond) {
    //you can extend the nested elseif as many times as you like
} else {
    //else execute this.
}
?>

答案 8 :(得分:0)

我猜您在代码中应该使用面向对象编程。 程序编码很好,但你最终会达到页面上只有很多代码的程度。

答案 9 :(得分:-2)

猜猜你在问是否有可用于php的框架?答案是肯定的,这里至少有一个好的:http://cakephp.org/