javascript - 如何在没有浏览器渲染的情况下发布 HTML 代码

标签 javascript jquery

我要为该项目建立一个论坛,但现在我面临这个问题,我希望用户能够发布他们的 HTML源代码,因为它在这个forum中工作.

But the problem is that the code runs or scatters my design when retrieve from my DB.

我尝试使用repalce()jQuery但我只能replace < with &lt;但我想要一个函数能够替换其他函数,例如 >,",'&所以我的问题是如何更新这个功能。

function convert(div){
  var str =  $(div).html();
  var str2 =  str.replace(/</g,"&lt;");
  var sta =  $(div).html(str2);
  return sta;
}

上面的代码可以替换 <但是当我尝试包含>,",'时和&在函数中它将停止工作我怎样才能使它工作。

提前致谢。

最佳答案

粘贴在 <pre> <code> 标签或两者,并确保使用 text()将内容插入标签时

function convert(div){
    var str =  $(div).html();
    var sta =  $('<code />', {text : str});

    return sta;
}

var result = convert( $('#test') );

$('#result').html(result)
#result {
  white-space : pre;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="test">
  <span>
    <p>TEST</p>
  </span>
</div>
<br />
<div id="result">

<code>将保留代码,并且 <pre>将保留空白,但还有 CSS white-space属性,可以充当 <pre>使用 pre 标记设置

关于javascript - 如何在没有浏览器渲染的情况下发布 HTML 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46143254/

相关文章:

javascript - 有什么方法可以让 double 超过 13 位小数吗? C# 还是 JS?

javascript - 如何禁用 1 个按钮但保持其他按钮启用

jquery - 组合多个 jquery 过滤器(UI slider 、复选框)

javascript - MVC jquery 对话框无法正常工作

javascript - 是否有除 Javascript 之外的任何编程语言可以访问和更新 HTML DOM?

javascript - Nextjs - 将 Prop 从自定义 _app.js 传递到 <Navbar> 组件?

javascript - 按名称访问 JavaScript 子属性

jquery - 有什么理由比 JQuery 更喜欢 Prototype 吗?

javascript - 检测用户何时在 div 外部单击

javascript - 将多个值附加到单个 div