如何在 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]

是另一部分,文本是由变量生成的,文本的内容是动态的。我知道我可以通过用&lt;span&gt;, &lt;div&gt;, &lt;label&gt;, 等包裹它们来做到这一点。但是有没有更好的方法来做到这一点而无需任何标记?显示时如何区分两者?如何分别控制两个部分的颜色或字体?有什么优雅的方法吗?

【问题讨论】:

【参考方案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; 

这里的&lt;tbody&gt; 包含所有动态内容,因此很容易隔离。另一个例子:

<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 中以不同方式显示静态文本和动态文本(由变量生成)?的主要内容,如果未能解决你的问题,请参考以下文章

如何在iphone中以编程方式更改按钮文本

如何在 MySQL 数据库中显示日期和价格,并在 PHP 中以各种格式显示

用户输入不适用于在表格视图中以编程方式添加的文本字段

如何在 Pyspark 中以编程方式解析固定宽度的文本文件?

jQuery:从动态模式显示静态文本

MFC 动态文本控件?