如何拆分<;p>&书信电报;span>;你好</span></p>;至<;span>;你好</span>;使用javascript
如何使用javascript将Hello拆分为Hello如何拆分<;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=/^(.*)
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
aaHelloaa
不要对此进行字符串操作,请使用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,“”);
。您是想删除段落标记、最外层标记、所有外层标记还是其他?是的,我想删除标记,但我不知道是否有属性如果它有属性,那么DOM解决方案可能是最好的。@Josh k-该解决方案不插入DOM;它创建了一个DOM元素,但不插入它。和你否决了我,因为你认为拆分很酷?真的吗?真的吗?好吧,现在让我们再添加一个类-text=“Hello”
。现在就拆分吧。显然,最好的解决方案是使用正则表达式;)@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, "");