JS正则过滤指定的HTML标签

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS正则过滤指定的HTML标签相关的知识,希望对你有一定的参考价值。

用JS过滤掉指定的html标签,比如说我现在要用<div></div>之间的内容,包括div标签,其他的HTML标签不需要,全部过滤掉!

1,得到网页上的链接地址:

string
matchString =
@"<a[^>]+href=\\s*(?:\'(?<href>[^\']+)\'|""(?<href>[^""]+)""|(?<href>[^>\\s]+))\\s*[^>]*>";
2,得到网页的标题:
string matchString = @"<title>(?<title>.*)</title>";
3,去掉网页中的所有的html标记:
string temp = Regex.Replace(html, "<[^>]*>", ""); //html是一个要去除html标记的文档

4, string matchString = @"<title>([\\S\\s\\t]*?)</title>";
5,js去掉所有html标记的函数:
function delHtmlTag(str)

return str.replace(/<[^>]+>/g,"");//去掉所有的html标记
参考技术A 正则 我帮你写好 函数你自己调用 <div[^>]*>.*?</div>这个就是 获取这个标签的内容 别的标签 名换点 div 就好了本回答被提问者采纳 参考技术B <div>.*</div>         //匹配外第一层
//如  dsd<span>sd<div><a><div>ghghghgh</div></a></div></span>
// 匹配  <div><a><div>ghghghgh</div></a></div>
<div>((?!<div>)(?!</div>).)*</div>      //匹配最内层
//如  dsd<span>sd<div><a><div>ghghghgh</div></a></div></span>
//匹配  <div>ghghghgh</div>

追问

能不能说下这个怎么用,我用jquery 获得到了data ,dataType的类型是html 得到的html如何用你写的这个表达式取得div之间的内容!也就是要去的data文件中的div标签之间的内容!

参考技术C 上源码!要不然不知道你要干什么!

高级正则技巧PHP正则表达式过滤html标签属性(DEMO)

过滤html标签在php中可以有内置的函数了,但它过滤的太干净了,我们就整理了一下些利用正则来过滤指定html标签的例子,具体如下所示。 采集的时候有时候需要过滤掉多余的标签属性,比如 img标签过滤掉除了src属性之外的所有属性例如删除titile alt等属性以及一些脚的onclick属性等。 例如 过滤除了src之外的所有属性:

 
   
   
 
  1. $str= preg_replace('/\s(?!src)[a-zA-Z]+=[\'\"]{1}[^\'\"]+[\'\"]{1}/iu',' $str);

上面的实例代码是过滤掉除了src属性外的所有标签属性. 过滤设置过滤除了alt和src之外的所有属性 代码如下:

 
   
   
 
  1. $str = preg_replace('/\s(?!(src|alt))[a-zA-Z]+=[^\s]*/iu',' ', $str);

过滤所有html标签的属性的正则表达式:

 
   
   
 
  1. $str = preg_replace("/<([a-z]+)[^>]*>/i","",$str );

只过滤alt属性的正则表达式:

 
   
   
 
  1. (\s)alt=[^\s]*

过滤所有html标签的属性的正则表达式:

 
   
   
 
  1. $search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript

  2. "'<[\/\!]*?[^<>]*?>'si", // 去掉 HTML 标记

  3. "'([\r\n])[\s]+'", // 去掉空白字符

  4. "'&(quot|#34);'i", // 替换 HTML 实体

  5. "'&(amp|#38);'i",

  6. "'&(lt|#60);'i",

  7. "'&(gt|#62);'i",

  8. "'&(nbsp|#160);'i"

  9. ); // 作为 PHP 代码运行

  10. $replace = array ("","","\\1","\"","&","<",">"," ");

  11. $html = preg_replace($search, $replace, $html);



给猿哥打call,赚点零花钱,顺便自己也可以领个红包。

觉得麻烦?

可以直接copy下面的吱口令打开支付宝马上领取:


【支付宝邀你瓜分10亿现金红包啦!红包天天都能领,周五周六及双十二期间最高可达1212元】红包可在实体门店付款时抵扣#吱口令#长按复制此消息,打开支付宝就能领取!AS20DB884N


以上是关于JS正则过滤指定的HTML标签的主要内容,如果未能解决你的问题,请参考以下文章

高级正则技巧PHP正则表达式过滤html标签属性(DEMO)

怎么使用js过滤html标签

JS如何过滤掉table中的thead标签, 急!

JS过滤(去除)富文本编辑器中的html标签和换行回车等标记的正则表达式

js正则表达式替换HTML标签以及空格(&nbsp;)

实例JS 正则表达式提取 html 中纯文本,去掉样式,其它标签