gpt4 book ai didi

php - 从数据库中检索 HTML,并将其格式化为 html 而不是纯文本

转载 作者:行者123 更新时间:2023-11-29 07:20:07 27 4
gpt4 key购买 nike

我有一个数据库查询,它返回页面的原始 HTML,但如果我在页面上使用它,它会显示为纯文本(当然)。我如何将其格式化为 HTML,以便它使用标签等。

我的数据库中的内容示例:

<div class="test">SOME TEXT HERE</div> 

但是也是这样显示的。我希望它能像 HTML 一样格式化文本。所以它只会显示:

SOME TEXT HERE

但它也将位于类为“test”的 div 中

实现这一目标的最佳方法是什么?

我在 MVC 模型中使用 Twig 来渲染页面。所以页面渲染器是这样的

    public function renderArticle() {
$twig = new TwigHelper();
$args['title'] = "Artikel $this->articleId";
$args['blogHTML'] = BlogController::retrieveBlogHTML($this->articleId);
echo $twig->render('article.twig', $args);
}

“BlogController::retrieveBlogHTML”如下所示:

    public static function retrieveBlogHTML($id) {
$db = DatabaseHelper::get();
$st = $db->prepare("SELECT PageHTML FROM T_Blog WHERE BlogId = :BlogId");
$st->execute([
':BlogId' => $id,
]);
if ($st->errorCode() !== \PDO::ERR_NONE) {
return null;
}
return $st->fetchAll();
}

这意味着我目前无法使用 JavaScript,如果这是解决问题的唯一方法,我将不得不构建一个解决方法。

所以我不知道我是否也意外地逃脱了或者类似的事情,但我没有使用任何 header 。

最佳答案

您需要转义 html 字符(例如 < 变为 &lt;)。

在 javascript 中,您可以使用 HE library或者有这个函数,通常很好,但没有涵盖 HE 库所做的所有可能的情况

var encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&]/gim, function(i) {
return '&#'+i.charCodeAt(0)+';';
});

如果您使用 php,您可以使用 htmlentities ,其他语言也会有类似的功能,要么是内置的,要么是通过库提供的。

关于php - 从数据库中检索 HTML,并将其格式化为 html 而不是纯文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36496669/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com