1

我在 SQL 'Text' 数据类型中有一个列,在里面我有 html 标记中的内容,例如

一些内容:

...我希望 mysql 查询在不剥离 html 标签的情况下回显数据库内容(出于安全原因,这可能是由 php 完成的,或者?),以便如果您得到我,html 代码将呈现?此刻它只是把一个看起来很棒的段落混为一谈!应该注意的是,安全性不是什么大问题,因为这是一个项目,不会公开

干杯伙计们

缺口

4

5 回答 5

1

除非您明确告诉它,否则 PHP 不会剥离数据库内容。您确定您的标签在插入之前没有被剥离吗?

或者尝试stripslashes();

于 2011-03-04T14:35:21.563 回答
1

MySQL 不会从文本中去除标签——它不在乎文本是什么。PHP 也不会剥离标签,除非您在代码中的某处执行strip_tags()或等效操作。

如果要强制浏览器显示检索到的数据中的标签,可以通过 [ 运行字符串htmlspecialchars()][1],它将 html 元字符(<>"&等...)转换为其字符实体等效项(&lt;&gt;等... )。

或者您可以通过执行强制将整个页面呈现为纯文本

header('Content-type: text/plain');
于 2011-03-04T14:36:06.173 回答
0

使用 htmlspecialchars_decode() 函数。它对我来说很好......

使用指南

带代码的文本

<?php

$text = " 
<html>
<head>
    <title>Page Title</title>
</head>
<body>
     Reference site about Lorem Ipsum, giving information on its origins, as well as a random Lipsum generator.
</body>
</html> ";

OR

$text = $row['columnname'];  // Here define your database table column name.

echo htmlspecialchars_decode($text);  

?>

输出:

关于 Lorem Ipsum 的参考站点,提供有关其起源的信息,以及随机 Lipsum 生成器。

于 2018-04-25T23:08:36.797 回答
0

这对我有用:

前任:

<?=htmlspecialchars_decode(htmlspecialchars('I <b>love</b> you'))?>

你的浏览器会输出:我

于 2020-02-23T10:31:19.607 回答
0

使用下面的片段:

echo(strip_tags($your_string));

复制。

于 2021-01-01T08:54:08.173 回答