繁体   English   中英

从 javascript 字符串中删除 HTML 标签

[英]Remove HTML tags from a javascript string

我有这个代码:

var content = "<p>Dear sms,</p><p>This is a test notification for push message from center II.</p>";

我想从上面的字符串中删除所有<p></p>标签。 只想显示没有 html 标签的字符串值,例如:

"Dear sms, This is a test notification for push message from center II."

为什么不让 jQuery 来做呢?

var content = "<p>Dear sms,</p><p>This is a test notification for push message from center II.</p>";

var text = $(content).text();

这是我的解决方案,

function removeTags(){
    var txt = document.getElementById('myString').value;
    var rex = /(<([^>]+)>)/ig;
    alert(txt.replace(rex , ""));

}

使用普通的 javascript :

content = content.replace(/(<p>|<\/p>)/g, "");

您可以使用 jQuery text()来获取without html 标签的纯文本。

现场演示

withoutP = $(content).text()
var content = "a<br />";
var withoutP = $(content).text()
alert(withoutP )

这个不适用于 .text() 解决方案。

这是检查特殊字符

 var $string = '&lt;a href=&quot;link&quot;&gt;aaa&lt;/a&gt;'; var $string2 = '<a href="link">aaa</a>'; var $string3 = 'BBBBB'; var $string4 = 'partial<script'; var $string5 = 'has spaces'; function StripTags(string) { var decoded_string = $("<div/>").html(string).text(); return $("<div/>").html(decoded_string).text(); } console.log(StripTags($string)); console.log(StripTags($string2)); console.log(StripTags($string3)); console.log(StripTags($string4)); console.log(StripTags($string5));
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

myString.replace(/<[^>]*>?/gm, '');

hidden element放在标记中,或从 jQuery 创建它。 使用此代码获取纯文本,没有不完整标签的复杂性, &lt; 等等。

content = $(hiddenElement).html($(hiddenElement).html(content).text()).text();

以上方法对我不起作用。 所以我得到了一种替代解决方案来解决这个问题`

var regex = "/<(.|\n)*?>/";
var originaltext = "1. Males and females were compared in terms of time    management ability. <br><br>The independent variables were the people in the   study.<br><br> Is this statement correct";
var resultText = body.replace(regex, "");
console.log(result);

使用正则表达式:

var cleanContent = content.replace(/(<([^>]+)>)/ig,"");

您可以使用striptags模块删除 HTML 并获取文本。 这是一个非常简单直接的解决方案。

function htmlTagremove(text) {

   var cont = document.createElement('div'),
   cont.innerHTML=text;

   return $(cont).text();

}

htmlTagremove('<p><html>test');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM