I am trying to post some html though a form to a php page and then trying to save that html into database the problem which I am facing is that when I save this to database it includes many html entities with it
for example my original html code is
<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>
But When I save it db it becomes
<p><!-- Flex full width slider --><br />
<div class="flexslider"><br />
<br />
<ul class="slides"><br />
<li class="slide slide--text" data-text="Great Plans And Pricing To Help You Get Started With Your E-Commerce Business"><br />
<div class="overdiv" style="position: absolute;"><br />
<h2>Get a <span style="color:#E92803;-webkit-text-stroke-width: 1px;-webkit-text-stroke-color: black">FREE</span> Gorgeous Shop in Minutes and Sell Anywhere.</h2><br />
<form method="post" action="https://www.marclick.com/customer/account/create/"><br />
<div><br />
<input required type="email" name="email" value="" style="border-radius:10px;" class="form-control" placeholder="Your Email"><br />
<div class="text-left"></div><br />
<input type="submit" value="Get Your Online Shop Now!" class="btn btn-warning btn--decorated"><br />
</div><br />
</form><br />
<p class="text-left">No Credit Card Required</p><br />
</div><br />
<img src="img/home_slider/1.jpg" alt=""><br />
</li></p>
what should I do to save the html as it is and echo it any time it is needed as a html code
here is my PHP code
$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);
Advertisement
Answer
You could use htmlspecialchars and htmlspecialchars_decode combined with htmlEntities ,html_entity_decode
htmlspecialchars — Convert special characters to HTML entities
See documentation here http://php.net/htmlspecialchars
htmlspecialchars_decode — Convert special HTML entities back to characters
See documentation here http://php.net/manual/en/function.htmlspecialchars-decode.php
$htmlcode = htmlentities(htmlspecialchars(thehmldata));
echo $htmlcode;
echo html_entity_decode(htmlspecialchars_decode($htmlcode));