javascript 在代码标签内转义 HTML

发布于 2024-10-21 18:49:40 字数 457 浏览 2 评论 0原文

基本上我需要能够搜索标签“<”和“>”在<代码>内阻止并将它们设置为文本而不是 HTML,以便我可以在页面上显示所有标签和 HTML。

目前,当我使用 jQuery 进行字符串替换时,所有标签都作为页面上的实际 HTML 出现:

var text = $("#edit").val();
filter = text.replace(/</gi,"&lt;").replace(/>/gi,"&gt;");
$("#output").html(filter);

我无法将 html() 更改为 text(),因为块之外的任何 HTML 都可以。我基本上正在寻找与此文本框/代码标签想法在 stackoverflow 上如何工作非常相似的东西。

有没有一种简单的方法可以使用 JavaScript / jQuery 来做到这一点?

谢谢

basically I need to be able to search for tags "<" and ">" within a <code> block and have them set as TEXT rather than HTML, so that I can display all tags and HTML on the page.

At the moment all tags are coming through as actual HTML on the page when I do a string replace using jQuery:

var text = $("#edit").val();
filter = text.replace(/</gi,"<").replace(/>/gi,">");
$("#output").html(filter);

I cant change html() to text() because any HTML, OUTSIDE the block is fine. I'm basically looking for something very similar as to how this textbox / code tag idea works on stackoverflow.

Is there an easy way to do this using JavaScript / jQuery?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无所谓啦 2024-10-28 18:49:40

我建议解析 HTML 并使用 text() 方法来显示您的 code 块。显然

var text = $($('#edit').val()); //create HTML object and parse as you would DOM
var code = text.find('code').html();
$('#output').text(code);

,您必须将代码块之前和之后的所有内容作为 HTML 放入您的 output div 中。

希望这有帮助。

I'd suggest parsing the HTML and using the text() method to display your code block. How about something like

var text = $($('#edit').val()); //create HTML object and parse as you would DOM
var code = text.find('code').html();
$('#output').text(code);

Obviously you will have to place everything before and after the code block into your output div as HTML.

Hope this helps.

Smile简单爱 2024-10-28 18:49:40

我认为你最好使用 PHP 正则表达式来提取代码标签之间的代码并将它们显示在预标签中以去除格式:

<?php
$var="blahblah<code>...</code>booboo";
$var=ereg_replace("<code>(.*?)</code>", "", $var);   
print "<pre>$var</pre>";
?>

I think you better use PHP regex to extract code between code tags and display them in pre tags to strip out formats:

<?php
$var="blahblah<code>...</code>booboo";
$var=ereg_replace("<code>(.*?)</code>", "", $var);   
print "<pre>$var</pre>";
?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文