Javascript将HTML标记列表删除到<;br/>;
如何在javascript中替换html标记列表Javascript将HTML标记列表删除到<;br/>;,javascript,regex,Javascript,Regex,如何在javascript中替换html标记列表 var value1 = " <ul> <li>Text1</li> <li>Text1</li> </ul> " var value1=“ 文本1 文本1 ” 进入 value1=“text1text2” 用正则表达式替换东西 更新: 我试着这样做,但脚本太长了 value1 = value
var value1 = " <ul>
<li>Text1</li>
<li>Text1</li>
</ul> "
var value1=“
- 文本1
- 文本1
”
进入
value1=“
text1
text2”
用正则表达式替换东西
更新:
我试着这样做,但脚本太长了
value1 = value1.replace(/<li>/g, "<p>");
value1 = value1.replace(/<\/li>/g, "</p>");
value1 = value1.replace(/<\/ul>/g, "</p>");
value1= value1.replace(/<ul>/g, "<p>");
value1 = value1.replace(/<\/ol>/g, "</p>");
value1 = value1.replace(/<ol>/g, "<p>");
value1=value1.替换(//g,“”);
value1=value1.替换(//g,“”);
value1=value1.替换(//g,“”);
value1=value1.替换(//g,“”);
value1=value1.替换(//g,“”);
value1=value1.替换(//g,”);
像这样的东西可以完成您要求的工作:
value1.替换(///ig,
')。替换(//ig',)。替换(//ig',)
但是我建议在数组中获取元素并正确返回它。var$els=$(value1);
var $els = $(value1);
$("<li>", $els).unWrap().replaceWith(function() { return "<br/>"+$(this).text(); });
$(“”,$els).unWrap().replaceWith(函数(){return”
“+$(this.text();});
试试下面的方法。。。也许它会帮助你
小提琴1:
小提琴2:
var regex=/(]+>)/ig;
var result=value1.替换(//ig,“”)。替换(regex,“”)。替换(/+//g,“
”);
警报(结果);
如果您想使用正则表达式,并且字符串足够一致,这是可以做到的,但您应该自己尝试,而不仅仅是询问其他人如何使用正则表达式。您必须使用正则表达式吗?为什么不直接操纵DOM?@Barmar var'value1'是我请求ajax数据后操纵DOM的结果。然后将value1插入listview jquery mobile,但jqm将其作为新listview读取。你能帮助我吗?如果你使用jQuery,你可以做dom1=$(value1)
将它解析为断开连接的DOM元素,然后使用jQuery的DOM操作方法。-1:我已经否决了这个问题,但不要把它当作个人问题。我投了反对票,因为就我所知,Regex是搜索HTML标记的一个非常糟糕的工具选择。依我看,@Barmar建议的jQuery是一个更好的选择。Asker不一定使用jQuery。@Marc他在评论中说他使用的是jQuery mobile。
value1.replace(/<li>/ig, '<br>').replace(/<\/li>/ig, '').replace(/<\/?ul>/ig, '')
var $els = $(value1);
$("<li>", $els).unWrap().replaceWith(function() { return "<br/>"+$(this).text(); });
var regex = /(<([^>]+)>)/ig;
var result = value1.replace(/<li>/ig," ").replace(regex, "").replace(/ +/g,"<br/>");
alert(result);