我在 SQL 'Text' 数据类型中有一个列,在里面我有 html 标记中的内容,例如
一些内容:
- 一
- 二
干杯伙计们
缺口
除非您明确告诉它,否则 PHP 不会剥离数据库内容。您确定您的标签在插入之前没有被剥离吗?
或者尝试stripslashes();
MySQL 不会从文本中去除标签——它不在乎文本是什么。PHP 也不会剥离标签,除非您在代码中的某处执行strip_tags()
或等效操作。
如果要强制浏览器显示检索到的数据中的标签,可以通过 [ 运行字符串htmlspecialchars()][1]
,它将 html 元字符(<
、>
、"
、&
等...)转换为其字符实体等效项(<
、>
等... )。
或者您可以通过执行强制将整个页面呈现为纯文本
header('Content-type: text/plain');
使用 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 生成器。
这对我有用:
前任:
<?=htmlspecialchars_decode(htmlspecialchars('I <b>love</b> you'))?>
你的浏览器会输出:我爱你
使用下面的片段:
echo(strip_tags($your_string));
复制。