如何在PHP中以不同方式显示静态文本和动态文本(由变量生成)?

时间:2009-11-27 04:44:57

标签: php html css

HTML文件由PHP文件生成。一般来说,用户可以从HTML文件中看到的内容可以分为两部分,一部分是静态的;另一部分是动态的,这部分由PHP文件中的变量表示。

例如:

$html=<<<eod
$title<br/>
Total Price:$row[column1]
Quota:$row[column2]
<pre>$row[column3]</pre>
Balance:<label class="price">$row[column4]</label>
Current Unit_price:<span class="price">$row[column5]</span>
$row[column6] readers are expected. Announcer:$row[column6]
<hr>
eod;
echo $html;
  

总价:配额:余额:当前   Unit_price:读者是   expected.Announcers:

是一部分,它是静态的;

  

$行[COLUMN1] $行[列2] $行[栏3] $行[column4] $行[column5] $行[column6]

是另一部分,文本由变量生成,文本内容是动态的。我知道我可以用<span>, <div>, <label>,等包装它们来做到这一点。但是有没有更好的方法来做它没有任何标记?如何在显示它们时区分它们?如何分别控制两个部分的颜色或字体?有一种优雅的方式吗?

2 个答案:

答案 0 :(得分:3)

您可以使用CSS控制它。使用特定类将您的动态内容包装在span或div中,然后按照您喜欢的方式设置样式。简单的例子:

<table>
<thead>
<tr>
  <th>Item</tr>
  <th>Description</th>
  <th>Price</th>
</tr>
</thead>
<tbody>
<tr>
  <td><!-- dynamic content --></td>
  <td><!-- dynamic content --></td>
  <td><!-- dynamic content --></td>
</tr>
<tr>
  <td><!-- dynamic content --></td>
  <td><!-- dynamic content --></td>
  <td><!-- dynamic content --></td>
</tr>
</tbody>
</table>

在这里你甚至不需要另一个班级:

thead th { background: #CCC; }
tbody td { background: yellow; }

此处<tbody>包含所有动态内容,因此很容易隔离。另一个例子:

<p>The total price is <span class="price dynamic">$19.95</span>.</p>

使用:

span.dynamic { color: red; }

等等。

答案 1 :(得分:0)

如果您试图避免将HTML直接放在PHP中,您可以查看模板引擎。一些示例是DwooSmarty

也可以将代码分成单独的文件,并直接使用PHP作为模板引擎。