如何使用javascript将<p><span>Hello</span></p>拆分为<span>Hello</span>
var text = "<p><span>Hello</span></p>";记住:我不知道什么包含<p>,我不知道<p>是否有任何属性
我找到答案了!
var patt=/^<p.*?>(.*)<\/p>$/i;
var result=patt.exec(text);
alert(result[1]); 谢谢ring0 & w3schools regexp.asp
但还是有问题的!它不适用于
aa<p><span>Hello</span></p>aa发布于 2010-08-29 04:06:02
负责删除p属性的正则表达式
var new = text.replace(/^<p[^>]*>(.*)<\/p>$/i, "$1");或使用.*?的版本
var new = text.replace(/^<p.*?>(.*)<\/p>$/i, "$1");如果<pre>或<param>可能启动text,则必须防止匹配
var new = text.replace(/^<p\b.*?>(.*)<\/p>$/i, "$1");编辑回答第二个问题
移除之前/之后的任何东西
var new = text.replace(/^.*<p\b[^>]*>(.*)<\/p>.*$/i, "$1");但是,如果要删除所有<p...>和所有</p>,则应使用以下两行
var new = text.replace(/<p\b.*?>/ig, "");
new = text.replace(/<\/p>/ig, "");发布于 2010-08-29 02:46:56
不要对此执行字符串操作,请使用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>"试试这个片段。
如果您使用的是像jQuery这样的框架,您可以使用:
$("<p><span>Hello</span></p>").html()试试这个片段。
发布于 2010-08-29 02:50:05
你到底想要什么?
text.substr(3, 18)来提取它。text.match(/<span>([^<]+)<\/span>/)你需要更好地解释这个问题。
https://stackoverflow.com/questions/3593341
复制相似问题