0

所以伙计们,我只想用jQuery格式化一个字符串,该字符串可以带有封闭的html标签<div><h2></h2><span></span></div>或没有它,例如<div><h2></h2><span>,或者它可能包含图像<img src=""/>,但我需要将它格式化为结果只有纯文本,我假设这可以用正则表达式来完成,我用谷歌搜索了它,但找不到这样的例子。

因此,如果您能帮助我,我将非常感谢您的帮助。谢谢

字符串的一个例子:

<p> 
    <span style="color: rgb(35, 31, 32); font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 20px; ">Преимущества стоматологической установок Anthos</span>
</p> 
<ul class="tech_list" style="margin: 0px; padding-right: 0px; padding-left: 0px; list-style-type: none; color: rgb(35, 31, 32); font-family: Arial, Helvetica, sans-serif; "> 
    <li style="margin: 0px; padding: 8px 0px; font-size: 13px; line-height: 18px; overflow: hidden; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); "> 
       <img alt="Anthos " class="photo" src="http
4

4 回答 4

4
var body;

try {
    body = document.implementation.createHTMLDocument().body;
    //In chrome this avoids requesting images in the html
}
catch(e){
    body = document.createElement("body");
}
//this doesn't execute css or scripts
body.innerHTML = '<p> <span style="color: rgb(35, 31, 32); font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 20px; ">Преимущества стоматологической установок Anthos</span></p> <ul class="tech_list" style="margin: 0px; padding-right: 0px; padding-left: 0px; list-style-type: none; color: rgb(35, 31, 32); font-family: Arial, Helvetica, sans-serif; "> <li style="margin: 0px; padding: 8px 0px; font-size: 13px; line-height: 18px; overflow: hidden; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); "> <img alt="Anthos " class="photo" src="http'

console.log( $(body).text() );
//Преимущества стоматологической установок Anthos  

演示http://jsfiddle.net/FvBzX/

于 2012-07-09T17:37:38.197 回答
2

尝试

$(".example_1").html( $(".example_1").text() );

获取 div 的 HTML,获取 div 的文本并将其放回外部容器的 html 中。

谷歌网站窃取

于 2012-07-09T17:36:58.303 回答
1

我想这就是你要找的东西:

https://stackoverflow.com/a/653699/1456376

jQuery.fn.stripTags = function() { return this.replaceWith( this.html().replace(/<\/?[^>]+>/gi, '') ); };
于 2012-07-09T17:37:19.303 回答
0

此 RegEx 应从字符串中删除所有 html 标记:

var StrippedString = OriginalString.replace(/(<([^>]+)>)/ig,"");
于 2012-07-09T17:37:04.363 回答