问题描述
我需要除去HTML标记(包含类“ classmark”的“ a”标记除外)的正则表达式
让我说我有这个HTML字符串:
<b>this</b>
<a href="#">not match</a>
<a href="#" target="_blank">not match</a>
<a href="#" class="classmark" target="_blank">match</a>
<a href="#" class="classmark">match2</a>
<a class="classmark" target="_blank">match3</a>
<a class="classmark">match4</a>
<b>this</b>
<p>fggfgf</p>
我想要这样的结果:
this
not match
not match
<a href="#" class="classmark" target="_blank">match</a>
<a href="#" class="classmark">match2</a>
<a class="classmark" target="_blank">match3</a>
<a class="classmark">match4</a>
this
fggfgf
我使用此功能剥离HTML标签
function strip_tags( _html /*you can put each single tag per argument*/ )
{
var _tags = [],_tag = "" ;
for( var _a = 1 ; _a < arguments.length ; _a++ )
{
_tag = arguments[_a].replace( /<|>/g,'' ).trim() ;
if ( arguments[_a].length > 0 ) _tags.push( _tag,"/"+_tag );
}
if ( !( typeof _html == "string" ) && !( _html instanceof String ) ) return "" ;
else if ( _tags.length == 0 )
{
return _html.replace( /<(\s*\/?)[^>]+>/g,"" );
}
else
{
var _re = new RegExp( "<(?!("+_tags.join("|")+")\s*\/?)[^>]+>","g" );
return _html.replace( _re,'');
}
}
它将剥离HTML标记,并仅保留我想要相同功能的特定标记,并添加我需要类似以下内容的class属性:
strip_tags( HTMLstring,"a","classmark")
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)