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之外的所有属性:
$str= preg_replace('/\s(?!src)[a-zA-Z]+=[\'\"]{1}[^\'\"]+[\'\"]{1}/iu',' $str);
上面的实例代码是过滤掉除了src属性外的所有标签属性. 过滤设置过滤除了alt和src之外的所有属性 代码如下:
$str = preg_replace('/\s(?!(src|alt))[a-zA-Z]+=[^\s]*/iu',' ', $str);
过滤所有html标签的属性的正则表达式:
$str = preg_replace("/<([a-z]+)[^>]*>/i","",$str );
只过滤alt属性的正则表达式:
(\s)alt=[^\s]*
过滤所有html标签的属性的正则表达式:
$search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript
"'<[\/\!]*?[^<>]*?>'si", // 去掉 HTML 标记
"'([\r\n])[\s]+'", // 去掉空白字符
"'&(quot|#34);'i", // 替换 HTML 实体
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i"
); // 作为 PHP 代码运行
$replace = array ("","","\\1","\"","&","<",">"," ");
$html = preg_replace($search, $replace, $html);
给猿哥打call,赚点零花钱,顺便自己也可以领个红包。
觉得麻烦?
可以直接copy下面的吱口令打开支付宝马上领取:
【支付宝邀你瓜分10亿现金红包啦!红包天天都能领,周五周六及双十二期间最高可达1212元】红包可在实体门店付款时抵扣#吱口令#长按复制此消息,打开支付宝就能领取!AS20DB884N
以上是关于JS正则过滤指定的HTML标签的主要内容,如果未能解决你的问题,请参考以下文章
高级正则技巧PHP正则表达式过滤html标签属性(DEMO)