如何打印包含HTML的变量

时间:2014-03-16 19:30:03

标签: php

我的mysql表的一个字段包含收到的电子邮件的正文,现在当我在PHP的变量中获取此值时,只是尝试回显它只显示实际代码。 我怎样才能显示为HTML-: 存储在mysql中的HTML - :

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<table width="200" border="1">
  <tr>
    <td><img src="http://myntra.myntassets.com/assets/banners/2014/3/12/1394610923636-footwear_micro-banner_160_120_mini.jpg" width="700" height="154" /></td>
  </tr>
</table>

</body>
</html>

PHP - :

<?php 
///......get value from DB and assign it to variable $body.
$body="$content";
echo $body;
?>

3 个答案:

答案 0 :(得分:0)

当您将数据插入数据库时​​,我打赌您正在使用html_entities

实际上这是件好事。

要恢复您的HTML,请尝试使用html_entity_decode()作为html提供的内容。

谨防XSS攻击。

答案 1 :(得分:0)

我猜您要显示电子邮件的HTML内容。
htmlentities应该可以使用。试试这个 -

echo htmlentities($body);

答案 2 :(得分:-1)

尝试这样做

$body="'".$content."'";
echo $body;

当您将单引号添加到html代码时,它会在打印前执行 或者你必须在每个之前添加\ 例如

  <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">

我尝试了两种方式并且工作正常