【问题标题】:PHP : format an html <div> to display it correctlyPHP:格式化 html <div> 以正确显示它
【发布时间】:2022-01-13 00:21:54
【问题描述】:

你好,我想得到这个,但是当我将我的 div 存储在我的数据库中并且当我尝试显示它时,我无法正确显示它,你能帮帮我吗?

期望的结果:

<div data-tpl="header1" data-title="Header 1" class="drop-element"><label>LABEL 111</label></div>
<div data-tpl="header2" data-title="Header 2" class="drop-element"><input class="form-control" value="" id="changeInput" placeholder="INPUT 222"></div>

在我的数据库中:

<div data-tpl=\"header1\" data-title=\"Header 1\" class=\"drop-element\"><label>LABEL 111</label></div>
<div data-tpl=\"header2\" data-title=\"Header 2\" class=\"drop-element\"><input class=\"form-control\" value=\"\" id=\"changeInput\" placeholder=\"INPUT 222\"></div>

在我的page.php上使用这个函数在网页上显示但是显示不正确:

preg_replace('/\\\\/', '', $formChaine);

我在网页上看到的不想要的结果:

<div data-tpl="\&quot;header1\&quot;" data-title="\&quot;Header" 1\"="" class="\&quot;drop-element\&quot;"><label>LABEL 111</label></div>
<div data-tpl="\&quot;header2\&quot;" data-title="\&quot;Header" 2\"="" class="\&quot;drop-element\&quot;"><input class="\&quot;form-control\&quot;" value="\&quot;\&quot;" id="\&quot;changeInput\&quot;" placeholder="\&quot;INPUT" 222\"=""></div>

【问题讨论】:

  • 你知道你应该serialize你的数据在存储到数据库之前,unserialize它以获得最好的结果,而不是你正在做的'preg_replace'。
  • @Forbs 不,绝对不是。在这种情况下,serialize 和 unserialize 几乎没有什么业务被使用。

标签: javascript php html mysql laravel


【解决方案1】:

所有内容都可能作为一种安全措施被转义,以保护您的数据库免受后续注入。您需要取消转义才能显示它。当您从数据库中读取它时,您可以在 php 端使用 stripcslashes:https://www.php.net/manual/en/function.stripcslashes.php。

【讨论】:

  • 不,这里没有没有正确完成。转义是在数据发送到数据库时应用于数据的一种措施——这并不意味着这些转义字符实际上登陆数据库中。 (在这种情况下,他们显然做到了,但 那 是应该在这里解决的实际问题。)
  • 我认为你是对的。它可能在发送到服务器时被转义,可能是由服务器。数据库不会关心 " 是否在字符串中,因此 \" 没有任何意义。带斜杠功能仍然可以在这里工作,但最好找到导致这种情况的根本原因在插入数据库之前进行实体编码。
  • 这里有一个很好的引用:“addslashes() 有时被错误地用于防止 SQL 注入。相反,应该使用特定于数据库的转义函数和/或准备好的语句。”它专门谈论报价。我认为这个函数在服务器上的某个地方被调用是为了防止 SQL 注入的错误尝试。 php.net/manual/en/function.addslashes.php
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-20
  • 2015-09-09
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多