如何在 PHP 中以不同方式显示静态文本和动态文本(由变量生成)?
Posted
技术标签:
【中文标题】如何在 PHP 中以不同方式显示静态文本和动态文本(由变量生成)?【英文标题】:How to display static text and dynamic text(generated by variables) differently in PHP? 【发布时间】:2010-12-20 21:03:21 【问题描述】: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:读者是 预期。播音员:
是一部分,是静态的;
$row[column1]$row[column2]$row[column3]$row[column4]$row[column5]$row[column6]
是另一部分,文本是由变量生成的,文本的内容是动态的。我知道我可以通过用<span>, <div>, <label>,
等包裹它们来做到这一点。但是有没有更好的方法来做到这一点而无需任何标记?显示时如何区分两者?如何分别控制两个部分的颜色或字体?有什么优雅的方法吗?
【问题讨论】:
【参考方案1】:您可以使用 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;
等等。
【讨论】:
这是一种用span或div来控制它的方法。没有 或 有没有更好的方法? 唯一的方法是你要为一个网页(HTML)设置样式是使用 CSS。有多种方法可以应用 CSS,但您需要进行某种划分。如果没有某种标签包裹该部分,您将无法更改该部分文本的格式。 你应该定义“更好”。你的意思是更短?清洁工? @Steven CSS 是最直观、最简洁、最易于维护的方法。你还想要什么?【参考方案2】:如果您想避免将 html 直接放在 PHP 中,您可以查看模板引擎。一些例子是Dwoo 和Smarty。
也可以将你的代码分成单独的文件,直接使用 PHP 作为模板引擎。
【讨论】:
以上是关于如何在 PHP 中以不同方式显示静态文本和动态文本(由变量生成)?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 MySQL 数据库中显示日期和价格,并在 PHP 中以各种格式显示