如何使用PHP将HTML保存到mysql


How to Save HTML to mysql using PHP?

我试图张贴一些html虽然表单到php页面,然后试图将该html保存到数据库我面临的问题是,当我把它保存到数据库它包含许多html实体与它

例如,我原来的HTML代码是
<div class="flexslider">
 <ul class="slides">
<li class="slide slide--text" data-text="Great Plans And Pricing To Help You Get Started With Your E-Commerce Business">
  <div class="overdiv" style="position: absolute;">
           <form method="post" action="https://www.marclick.com/customer/account/create/">
              <div>
                 <input required type="email" name="email" value="" style="border-radius:10px;" class="form-control" placeholder="Your Email">
                 <div class="text-left"></div>
                 <input type="submit" value="Get Your Online Shop Now!" class="btn btn-warning btn--decorated">
              </div>
           </form>
           <p class="text-left">No Credit Card Required</p>
 </div>
  <img src="img/home_slider/1.jpg" alt="">
</li>
</ul>

但是当我保存db时,它变成了

    <p>&lt;!-- Flex full width slider --&gt;<br />
&lt;div class=&quot;flexslider&quot;&gt;<br />
&nbsp;&nbsp;<br />
&nbsp; &lt;ul class=&quot;slides&quot;&gt;<br />
&nbsp; &nbsp;&nbsp; &nbsp;&lt;li class=&quot;slide slide--text&quot; data-text=&quot;Great Plans And Pricing To Help You Get Started With Your E-Commerce Business&quot;&gt;<br />
&nbsp; &nbsp; &nbsp; &lt;div class=&quot;overdiv&quot; style=&quot;position: absolute;&quot;&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;h2&gt;Get a &lt;span style=&quot;color:#E92803;-webkit-text-stroke-width: 1px;-webkit-text-stroke-color: black&quot;&gt;FREE&lt;/span&gt; Gorgeous Shop in Minutes and Sell Anywhere.&lt;/h2&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;form method=&quot;post&quot; action=&quot;https://www.marclick.com/customer/account/create/&quot;&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;input required type=&quot;email&quot; name=&quot;email&quot; value=&quot;&quot; style=&quot;border-radius:10px;&quot; class=&quot;form-control&quot; placeholder=&quot;Your Email&quot;&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;div class=&quot;text-left&quot;&gt;&lt;/div&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;input type=&quot;submit&quot; value=&quot;Get Your Online Shop Now!&quot; class=&quot;btn btn-warning btn--decorated&quot;&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/div&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;/form&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;p class=&quot;text-left&quot;&gt;No Credit Card Required&lt;/p&gt;<br />
&nbsp; &nbsp; &nbsp;&lt;/div&gt;<br />
&nbsp; &nbsp; &nbsp; &lt;img src=&quot;img/home_slider/1.jpg&quot; alt=&quot;&quot;&gt;<br />
&nbsp; &nbsp; &lt;/li&gt;</p>

我应该怎么做才能保存html,并在需要的时候作为html代码返回它

这是我的PHP代码
    $content=$_POST['editor1']; //html
    $seo=addslashes($_POST['keywords']);
    $category=addslashes($_POST['category']);
    $query="INSERT INTO `pages`(`name`,`link`,`seo`,`content`, `category`)
     VALUES 
     ('$title','$permalink','$seo','$content','$category')";
    $result=mysqli_query($link, $query);

可以将htmlspecialcharshtmlspecialchars_decodehtmlEntities htmlentity_decode

结合使用

htmlspecialchars -将特殊字符转换为HTML实体

查看这里的文档http://php.net/htmlspecialchars

htmlspecialchars_decode -将特殊的HTML实体转换回字符
查看这里的文档http://php.net/manual/en/function.htmlspecialchars-decode.php

$htmlcode = htmlentities(htmlspecialchars(thehmldata));
echo $htmlcode;
echo html_entity_decode(htmlspecialchars_decode($htmlcode));

使用

$content=htmlentities($_POST['editor1']);

之前插入。在页面上直接用"echo"打印出来。

有时htmlspecialchars()htmlentities()在数据库中保存html标记时给出错误,因此不要使用base64_encode()或解码base64_decode()。请参阅所附的

链接https://stackoverflow.com/a/59916834/12489279