Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Mysql中插入纯HTML并检索HTML以显示在页面上_Javascript_Php_Jquery_Html_Mysql - Fatal编程技术网

Javascript 在Mysql中插入纯HTML并检索HTML以显示在页面上

Javascript 在Mysql中插入纯HTML并检索HTML以显示在页面上,javascript,php,jquery,html,mysql,Javascript,Php,Jquery,Html,Mysql,我的申请有问题。它是一个表单生成器,您可以构建自己的表单,并在以后使用该表单。表单生成器创建的表单的生成HTML代码,我将其插入MySQL数据库 但是,如果我想将表单从数据库中取出,HTML将无法正确显示。可能是因为引号。以下是一些数据: &lt;form class="form-horizontal" &gt;<fieldset> 然后我把它保存在MySQL数据库中。表的编码是否可能不正确?<=小于= 在数据库中插入的方式不对 正如在评论中所说的,在插入数据库

我的申请有问题。它是一个表单生成器,您可以构建自己的表单,并在以后使用该表单。表单生成器创建的表单的生成HTML代码,我将其插入MySQL数据库

但是,如果我想将表单从数据库中取出,HTML将无法正确显示。可能是因为引号。以下是一些数据:

&lt;form class="form-horizontal" &gt;<fieldset>

然后我把它保存在MySQL数据库中。表的编码是否可能不正确?

<
=小于=

在数据库中插入的方式不对

正如在评论中所说的,在插入数据库之前,您需要执行以下操作。

我猜您使用的是PHP 使用函数
htmlspecialchars\u decode

有关详细信息,请参见链接

如果您在客户端执行此操作,则可以使用以下代码:

   var htmlEntities = {
      encode : function htmlEscape(str, flag) {
          var htmlToString = String(str)
                  .replace(/"/g, '&quot;')
                  .replace(/'/g, '&#39;')
                  .replace(/</g, '&lt;')
                  .replace(/>/g, '&gt;');
          if(flag) {
              // if flag == false don't encode "&" symbole
              htmlToString.replace(/&/g, '&amp;');
          }
          return htmlToString;
      },
      decode : function(str) {
        var element = document.createElement('div');
        if(str && typeof str === 'string') {
          // strip script/html tags
          str = str.replace(/<script[^>]*>([\S\s]*?)<\/script>/gmi, '');
          str = str.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gmi, '');
          element.innerHTML = str;
          str = element.textContent;
          element.textContent = '';
        }
        return str;
      }
  };
var htmlEntities={
编码:函数htmlEscape(str,flag){
var htmlotstring=String(str)
.替换(/“/g,”))
.替换(/'/g'';'))
.替换(//g',);
国际单项体育联合会(旗){
//如果flag==false,则不编码“&”符号
htmlToString.replace(/&/g,“&;”);
}
返回HTML字符串;
},
解码:函数(str){
var-element=document.createElement('div');
if(str&&typeof str=='string'){
//strip脚本/html标记
str=str.replace(/]*>([\S\S]*?)/gmi',);

str=str.replace(/我自己最终找到了答案。插入数据库的过程很顺利。我只需要做几件事

首先,我需要使用PHP对字符串进行解码,然后将其发送到我的客户端应用程序:

htmlspecialchars_decode
然后在我的客户端应用程序中,我使用javascript修剪结果:

var html = $.trim(r);
$$('#formvragenhier').html(html);

然后我将它插入到我的应用程序中,HTML就会正确显示!

…和/或
htmlspecialchars()
Aha,所以插入出错了,谢谢!我认为插入没问题。如果是这样,我确保将您的答案标记为解决方案!请参阅我的编辑。HTMLEntities不起作用。引号仍会出现并破坏HTML代码。
   var htmlEntities = {
      encode : function htmlEscape(str, flag) {
          var htmlToString = String(str)
                  .replace(/"/g, '&quot;')
                  .replace(/'/g, '&#39;')
                  .replace(/</g, '&lt;')
                  .replace(/>/g, '&gt;');
          if(flag) {
              // if flag == false don't encode "&" symbole
              htmlToString.replace(/&/g, '&amp;');
          }
          return htmlToString;
      },
      decode : function(str) {
        var element = document.createElement('div');
        if(str && typeof str === 'string') {
          // strip script/html tags
          str = str.replace(/<script[^>]*>([\S\s]*?)<\/script>/gmi, '');
          str = str.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gmi, '');
          element.innerHTML = str;
          str = element.textContent;
          element.textContent = '';
        }
        return str;
      }
  };
htmlEntities.encode('&lt;form class="form-horizontal" &gt;<fieldset>&lt;!-- Form Name --&gt;<legend>Hubert</legend></fieldset>&lt;/form&gt', false)

"&lt;form class=&quot;form-horizontal&quot; &gt;&lt;fieldset&gt;&lt;!-- Form Name --&gt;&lt;legend&gt;Hubert&lt;/legend&gt;&lt;/fieldset&gt;&lt;/form&gt"

htmlEntities.decode('&lt;form class=&quot;form-horizontal&quot; &gt;&lt;fieldset&gt;&lt;!-- Form Name --&gt;&lt;legend&gt;Hubert&lt;/legend&gt;&lt;/fieldset&gt;&lt;/form&gt');

"<form class="form-horizontal" ><fieldset><!-- Form Name --><legend>Hubert</legend></fieldset></form>"
    <?php
       $str = 'This is an encoded string';
       echo base64_encode($str);
    ?>
  <?php
      $str = "A 'quote' is <b>bold</b>";
      // Outputs: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
      echo htmlentities($str);
      // Outputs: A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt;
      echo htmlentities($str, ENT_QUOTES);
  ?>
htmlspecialchars_decode
var html = $.trim(r);
$$('#formvragenhier').html(html);