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));