2017-08-06 14 views
1

私のデータベースにtextareaフィールドを含むhtmlとJavaScriptコードを挿入します。問題はコードが挿入されているが、そのすべての二重問題がバックラッシュに置き換えられている。このコードをテキストエリアに挿入する方法テキストエリアでhtmlとjavascriptコードを挿入するには

<div id="TA_cdsratingsonlynarrow539" class="TA_cdsratingsonlynarrow"><ul id="Ny62NY" class="TA_links r04zlbt"><li id="jb9xdEapRG" class="sc9nmfeVX"><a target="_blank" href="https://www.tripadvisor.com/"><img src="https://www.tripadvisor.com/img/cdsi/img2/branding/tripadvisor_logo_transp_340x80-18034-2.png" alt="TripAdvisor"/></a></li></ul></div><script src="https://www.jscache.com/wejs?wtype=cdsratingsonlynarrow&amp;uniq=539&amp;locationId=671932&amp;lang=en_US&amp;border=false&amp;shadow=false&amp;display_version=2"></script>

+0

[This](https://stackoverflow.com/a/37339415/5894241)答えが役に立つかもしれません。 – Nisarg

答えて

0

現在のページにテキストエリアの入力フィールドを使用してHTMLとJavaScriptコードを挿入/挿入することが可能です。今

<div id="output"></div> 
<div style="margin: 25px auto; width: 80%; height: auto;"> 
    <form id="myform" name="myform"> 
     <textarea id="mytextarea" name="mytextarea" cols="90" rows="20"></textarea> 
     <br> <button type="button" id="mybutton">execute</button> 
    </form> 
</div> 

、あなたは、HTMLやテキストエリアからjavascriptのコードを抽出し、ページにそれらを挿入するには、ボタンの上にそれにイベントリスナーを追加することができます:

は、あなたがテキストエリアを以下まし考慮

window.addEventListener('load', function() { 
     document.getElementById('mybutton').addEventListener('click', function (e) { 
      var mytextarea = document.getElementById('mytextarea'); 
      var pattern = /<script>([^]+?)<\/script>/mg; 
      var matches, txt = mytextarea.value; 
      if (txt) { 
       while (matches = pattern.exec(txt)) { 
        if (matches[1]) { 
         var tContent = matches[1].replace(/(\n|\r)+/gm, ''); 
         var s = document.createElement('script'); 
         s.innerText = tContent; 
         document.body.appendChild(s); 
        } 
       } 
       txt = txt.replace(pattern, ''); 
      } 
      if (txt) { 
       document.getElementById('output').innerHTML = txt; 
      } 
     }); 
    }); 
関連する問題