gpt4 book ai didi

javascript - 使用 Node 验证器从字符串中去除 HTML 标签

转载 作者:搜寻专家 更新时间:2023-10-31 23:28:25 25 4
gpt4 key购买 nike

我正在寻找一种在后端使用 NodeJS 从字符串中去除标签的方法。这里的一些答案建议尝试 node-validator 但文档和任何答案都没有具体说明如何使用它。

例如,我在这样的变量中有一个字符串:

输入:

var text = '<p><b>Hello there!</b> I am a string <span class="small">but not a very exciting one!</span></p>'

期望的输出:

var newText = Hello there! I am a string but not a very exciting one!

node-validator文档有几个选项,我认为最相关的是 trim()功能:

var check = require('validator').check,
sanitize = require('validator').sanitize

//Validate
check('test@email.com').len(6, 64).isEmail(); //Methods are chainable
check('abc').isInt(); //Throws 'Invalid integer'
check('abc', 'Please enter a number').isInt(); //Throws 'Please enter a number'
check('abcdefghijklmnopzrtsuvqxyz').is(/^[a-z]+$/);

//Sanitize / Filter
var int = sanitize('0123').toInt(); //123
var bool = sanitize('true').toBoolean(); //true
var str = sanitize(' \t\r hello \n').trim(); //'hello'
var str = sanitize('aaaaaaaaab').ltrim('a'); //'b'
var str = sanitize(large_input_str).xss();
var str = sanitize('&lt;a&gt;').entityDecode(); //'<a>'

是否可以使用它从字符串中去除标签(以及类)?

编辑:我还有cheerio (本质上是 jquery)已加载并尝试使用类似于以下内容的内容:

HTML
<div class="select">
<p><b>Hello there!</b> I am a string <span class="small">but not a very exciting one!</span></p>
</div>

JAVASCRIPT
(function() {
var text = $(.select *).each(function() {
var content = $(this).contents();
$(this).replaceWith(content);
}
);
return text;
}
());

但这会导致 'Object '<p><b>Hello....' has no method "contents"'错误,如果使用 jQuery 更容易,我愿意使用类似的函数。

最佳答案

我不使用 Node 验证器,但类似的东西对我有用

var text = '<p><b>Hello there!</b> I am a string <span class="small">but not a very    exciting one!</span></p>

text.replace(/(<([^>]+)>)/ig,"");

输出

你好!我是一根绳子,但不是很刺激!

现在您可以使用 Node 验证器对其进行修整。

here 得到代码片段

关于javascript - 使用 Node 验证器从字符串中去除 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16937181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com