如何在php中打印HTML代码

时间:2016-03-09 12:18:58

标签: php html mysql

我正在尝试开发一个简单的PHP页面,允许我在数据库中打印一些数据。问题是有些数据不“干净”,我认为在数据中有一些html标签(我想)。

数据示例如下:

%3Ch1%3E%3Cspan+style%3D%22color%3A+rgb%280%2C+0%2C+51%29%3B%22%3EDirettore+Artistico%3C%2Fspan%3E%3C%2Fh1%3E

为了解决我的问题,我尝试了这个:

<?php
 $result = mysql_query("SELECT text FROM mutable WHERE (id_obj = 1)");
 while($row = mysql_fetch_array($result)){  
 echo "<p>" . html_entity_decode($row['text']) . "</p>";  
}

此解决方案不起作用,我不知道是否重要,但我的数据库的字符集是:latin1_swedish_ci

3 个答案:

答案 0 :(得分:3)

其urlencoded html

Check thisclass NewsController < ApplicationController before_action :current_user, only: [:create, :destroy] def create if params[:action] == "national" @news = catid.current_user.news.build(news_params) if @news.save flash[:success] = "News Posted" redirect_to root_url else @feed_items = [] render 'category/national' end end end end 输出:

urlencode($userinput)

And this%3Ch1%3E%3Cspan+style%3D%22color%3A+rgb%280%2C+0%2C+51%29%3B%22%3EDirettore+Artistico%3C%2Fspan%3E%3C%2Fh1%3E 输出:

urldecode($userinput)

修改

从你的问题:

<h1><span style="color: rgb(0, 0, 51);">Direttore Artistico</span></h1>

不要使用mysql_ *函数。请改用PDO

<强> Why shouldn't I use mysql_* functions in PHP?

答案 1 :(得分:2)

如果您不知道如何生成此数据,则无法知道要获取原始数据的转换。 看起来就像数据urlencoded一样,这很容易与urldecode相反。

如果您想要解释HTML,您可以这样做:

echo '<p>' . urldecode($row["text"]) . '</p>';
// result:
<p><h1><span style="color: rgb(0, 0, 51);">Direttore Artistico</span></h1></p>

如果您希望HTML以纯文本形式显示,则需要对其进行编码:

echo '<p>' . htmlspecialchars(htmlenturldecode($row["text"])) . '</p>';
// result:
<p>&lt;h1&gt;&lt;span style=&quot;color: rgb(0, 0, 51);&quot;&gt;Direttore Artistico&lt;/span&gt;&lt;/h1&gt;</p>

答案 2 :(得分:-2)

强文

$string= "%3Ch1%3E%3Cspan+style%3D%22color%3A+rgb%280%2C+0%2C+51%29%3B%22%3EDirettore+Artistico%3C%2Fspan%3E%3C%2Fh1%3E";
echo urldecode($string);

&GT;