我制作了一个div
标记并将其内容存储在一个变量中。如果此标签包含p,b
或任何其他标签,则应将其从字符串中删除。我怎样才能做到这一点?如何使用Javascript/jQuery从div内容中去除HTML标签?
回答
使用正则表达式。
var regex = /(<([^>]+)>)/ig
var body = "<p>test</p>"
var result = body.replace(regex, "");
alert(result);
这里是DEMO
希望这有助于。
+1,我测试了这个...它真的很棒... http://jsfiddle.net/cjramki/Efu4f/ –
标记为已解决。如果这有帮助 – UmarKashmiri
我应该在你的答案中添加小提琴演示吗?我认为这会改善你的答案... –
你可以按照这个例子
var stringContent = "<p>Hi dear</p><p>Wish you a happy birthday</p>";
var text = $(stringContent).text();
这引发错误,例如字符串'dsdsds [' – xMort
解决方案使用jQuery:
var content = "<p>Dear Andy,</p><p>This is a test message.</p>";
var text = $(content).text();
解决方案使用JavaScript:
function removeTags(){
var txt = document.getElementById('myString').value;
var rex = /(<([^>]+)>)/ig;
alert(txt.replace(rex , ""));
}
而且看起来这个链接: Strip HTML Tags in JavaScript
使用普通的JavaScript,你可以做到这一点作为
string.replace(/(<([^>]+)>)/ig,"");
我想,这大概比的.text()方法更快。
这是更安全:
function plaintext(html){
return $("<div/>").html(html).text();
}
这是一个超级干净的解决方案,谢谢! – Overcode
我想上公认的答案这是在暗示正则表达式
var regex = /(<([^>]+)>)/ig
的顶部添加了一些东西:
- 你不在你的正则表达式中不需要
i
标志,因为你不匹配任何字母字符。看到这里:http://jsfiddle.net/66L6nfwt/2/ - 你不需要任何一对括号,因为你只需要替换全部匹配。请看这里:http://jsfiddle.net/66L6nfwt/3/
- 这个正则表达式可以被改进,因为如果你在文本内容中同时使用字符
<
和>
它将会失败。看到这里:http://jsfiddle.net/66L6nfwt/4/ - 所以这里是一个正则表达式的改进:
/<\/?\w+[^>]*\/?>/g
。在这里看到:http://jsfiddle.net/66L6nfwt/5/
最终代码:
var regex = /<\/?\w+[^>]*\/?>/g,
body = "<sTrong><b>test<b></STRONG><b> sss</b><em> what if you write some maths: i < 2 && i > 4.</em>";
alert(body.replace(regex, ""));
它也可以帮助把在内置的“字符串”类的功能,所以你可以这样做直接:
"<em>test</em>".stripTags()
String.prototype.stripTags = function()
{
return this.replace(/<\/?\w+[^>]*\/?>/g, '');
};
最后,如果你的字符串是一个DOM节点,你可以做alert(element.innerText || element.textContent);
这是内置的和更安全!这里见例如:http://jsfiddle.net/66L6nfwt/6/
- 1. Java:如何从HTML标签中去除文本内容?
- 2. Python-HTML-如何使用BeautifulSoup去除标签之间的内容
- 3. 使用javascript去除div标记内容
- 4. 如何使用PHPQuery去除HTML标签?
- 5. 如何使用DIV中的html标签限制内容
- 6. 如何去除所有html标签并使用java提取内容?
- 7. 如何使用的preg_replace删除内容的HTML标签内
- 8. 如何使用jquery在标签标签内呈现html内容
- 9. 从SQL结果中去除Html标签
- 10. VB6:是否有标准库(解析器)从内容中去除HTML标签?
- 11. 如何从word内容中删除html标签?
- 12. 使用C#去除HTML标签
- 13. 如何从HTML中除去特殊标记除外的所有内容?
- 14. 如何在VB6中使用MSHTML Parser去除所有HTML标签?
- 15. 如何在PHP中使用黑名单去除HTML标签?
- 16. 如何使用BeautifulSoup解析HTML标签内部的HTML标签的内容?
- 17. 读内容在HTML div标签PHP
- 18. 从Python中的文件内容去除标签
- 19. 使用美丽的汤从字符串中去除html标签
- 20. Razor - 如何在div标签中显示html内容?
- 21. 如何使用Python 3从html标签样式获取内容?
- 22. 减去python中的html div标签
- 23. 如何使用jQuery去除标签?
- 24. 如何在HTML中使用具有不同内容的相同div标签?
- 25. jQuery UI的选项卡,去除标签和标签内容
- 26. 如何使用Javascript与CSS打印div标签中的内容
- 27. 我要排除的HTML标签中的内容使用str_ireplace
- 28. 如何正确使用javascript动态地去除HTML标签?
- 29. 我们如何通过使用jquery去除html标签?
- 30. 插入/删除div标签之间的HTML内容
添加的jsfiddle向我们展示[从文本JavaScript的HTML地带]的一些代码 – Abhidev
可能的复制(http://stackoverflow.com/questions/822452/strip-html-from-text-javascript ) – nhahtdh