如何拆分<;p>&书信电报;span>;你好</span></p>;至<;span>;你好</span>;使用javascript

如何拆分<;p>&书信电报;span>;你好</span></p>;至<;span>;你好</span>;使用javascript,javascript,string,split,Javascript,String,Split,如何使用javascript将Hello拆分为Hello var text = "<p><span>Hello</span></p>"; var text=“Hello”; 记住:我不知道什么包含,我不知道是否有任何属性 我找到了答案 var patt=/^<p.*?>(.*)<\/p>$/i; var result=patt.exec(text); alert(result[1]); var patt=/^(.*)

如何使用javascript将Hello拆分为Hello

var text = "<p><span>Hello</span></p>";
var text=“Hello

”;
记住:我不知道什么包含
,我不知道
是否有任何属性

我找到了答案

var patt=/^<p.*?>(.*)<\/p>$/i;
var result=patt.exec(text);
alert(result[1]); 
var patt=/^(.*)$/i;
var result=patt.exec(文本);
警报(结果[1]);
感谢ring0和w3schools

但是有问题!这对我不起作用

aa<p><span>Hello</span></p>aa
aaHello

aa
不要对此进行字符串操作,请使用DOM

// create a dummy container div element
var tempDiv = document.createElement('div');
// insert the desired html inside this container
tempDiv.innerHTML = "<p><span>Hello</span></p>";
// find the first para, and get its html
tempDiv.getElementsByTagName("p")[0].innerHTML; // contains "<span>Hello</span>"
//创建一个虚拟容器div元素
var tempDiv=document.createElement('div');
//在此容器中插入所需的html
tempDiv.innerHTML=“Hello

”; //找到第一个段落,并获取其html tempDiv.getElementsByTagName(“p”)[0].innerHTML;//包含“你好”

如果您使用的是类似jQuery的框架,则可以使用:

$("<p><span>Hello</span></p>").html()
$(“你好

”).html()

.

你到底想要什么

  • 您可以使用一个子字符串将其拉出:
    text.substr(3,18)

  • 您可以使用正则表达式:
    text.match(/([^注意,我使用了
    p>
    一个正则表达式,负责删除
    p
    属性

    var new = text.replace(/^<p[^>]*>(.*)<\/p>$/i, "$1");
    

    如果
    
    
    编辑以回答第二个问题

    删除之前/之后的内容

    var new = text.replace(/<p\b.*?>/ig, "");
    new = text.replace(/<\/p>/ig, "");
    
    var new=text.replace(/^.*]*>(.*$/i,“$1”);
    
    但是,如果要删除所有
    和所有

    ,则应使用这两行

    var new=text.replace(//ig,”);
    new=text.replace(//ig,“”);
    
    如果您给出多个示例,会有很大帮助。现在我的答案是
    text=“Hello”
    。您是想删除段落标记、最外层标记、所有外层标记还是其他?是的,我想删除标记,但我不知道是否有属性如果它有属性,那么DOM解决方案可能是最好的。@Josh k-该解决方案不插入DOM;它创建了一个DOM元素,但不插入它。和你否决了我,因为你认为拆分很酷?真的吗?真的吗?好吧,现在让我们再添加一个类-

    你好

    。现在就拆分吧。显然,最好的解决方案是使用正则表达式;)@Anurag:我否决了你,因为它没有回答他的问题(按照措辞),我如何拆分
    [阶段]
    。他没有提到使用类,那我为什么要关心呢?考虑到更新的答案,这个解决方案很好。经过投票。它是一个
    拆分
    …不,它是一个
    正则表达式
    …不,它是
    jQuery
    !谢谢,但是如果有任何属性,我能做什么。你能使用

    拆分吗?再看我的问题。我会接受你的回答呃,如果您完成了它。并添加了上次答案中缺少的

    \b
    :-)
    var new = text.replace(/^<p.*?>(.*)<\/p>$/i, "$1");
    
    var new = text.replace(/^<p\b.*?>(.*)<\/p>$/i, "$1");
    
    var new = text.replace(/^.*<p\b[^>]*>(.*)<\/p>.*$/i, "$1");
    
    var new = text.replace(/<p\b.*?>/ig, "");
    new = text.replace(/<\/p>/ig, "");