如何在段落内用自己的 class 名称替换 span 标签

How to replace span tags with its own class name inside paragraph

我想在动态段落中用它们自己的 class 名称替换所有 <span></span> 标签。

示例:

My paragraph is: "Welcome <span class="emo 1f4a9"></span> to our home <span class="emo 1f47b"></span>"

And I want the result: "Welcome 1f4a9 to our home 1f47b"

所以我尝试了很多方法,但无法获取 class span 的名称。该段落来自 ajax 请求,作为我的 public 评论部分的文本格式,我也会将其显示为推送通知。

我试过了

spantoemo('Welcome <span class="emo 1f4a9"></span> to our home <span class="emo 1f47b"></span>');
function spantoemo(MSG){
var element = $(MSG);   
element.find("span").each(function(index) {
        var A = $(this).attr('class');
        var B = A.replace("emo ", ""); 
        //var JAVACODE = toUTF16(parseInt( A, 16 )); var FINAL =  html.replace(/<span class="+A+"><\/span>/g, JAVACODE);
        var FINAL =  html.replace(/<span class="+A+"><\/span>/g, B);
});
var newString = element.html(); //get back new string
alert(newString);
}

fiddle

function replaceSpans(string) {
    return string.replace(/<span class="emo (\S+)"><\/span>/g, '');
}

这似乎是你想要的结果。

将其放入您的示例中:

spantoemo('Welcome <span class="emo 1f4a9"></span> to our home <span class="emo 1f47b"></span>');
function spantoemo(MSG){
    MSG = MSG.replace(/<span class="emo (\S+)"><\/span>/g, '');
    alert(MSG);
}