如何去掉字符串中的html标签,然后转义纯字符串并将转义字符串转换为html标签返回

如何去掉字符串中的html标签,然后转义纯字符串并将转义字符串转换为html标签返回

问题描述:

我想剥离html标签,然后转义纯字符串并将转义字符串放回到html标记中,为此我尝试过:如何去掉字符串中的html标签,然后转义纯字符串并将转义字符串转换为html标签返回

var aa = "<p>hi testing & </p>"; 
var bb = $(aa).text(); 
var cc = escape(bb); 
var dd = aa.replace(bb, cc); 

DD给我的输出"<p>hi%20testing%20%26</p>",但问题是,当我有串多个HTML标签如:aa ="<p>hi testing & </p><p> failed & </p>"它不工作。

请帮忙。

在此先感谢。

你就近了! jQuery.text()对此非常方便。当你传递一个函数时,它会用函数的结果替换选定元素的文本内容:

var aa = "<p>hi testing & </p><p> failed & </p>" 
    , $aa = $(aa).text(function(_, content) { return escape(content); }) 
; 

console.log($aa); 
// => [<p>​hi%20testing%20%26%20​</p>​, <p>​%20failed%20%26%20​</p>​] 
+0

感谢它帮助我。 – druveen

+0

嗨,如果aa =“

"

hi testing &

failed &

”,它将不起作用。是否有可能使用jQuery其他我会写隐性功能。 – druveen
+0

看起来你是对的。是的,我认为你必须递归地做这件事。 –