求正则表达式,匹配html标记 20
我要对html文件进行瘦身,需要去掉html标记外的换行和空格,如:<tr><tdwidth="173"height="30"align="right"class="ti...
我要对html文件进行瘦身,需要去掉html标记外的换行和空格,
如: <tr>
<td width="173" height="30" align="right" class="title_4"><font class="title4title">房产新闻</font></td>
<td width="93" align="right" class="title_4"><a href="list.asp?cataid=90" target="_blank"><font color="#003399">更多>></font></a></td>
<td width="11" align="center" class="title_4"></td>
</tr>
替换为:
<tr><td width="173" height="30" align="right" class="title_4"><font class="title4title">房产新闻</font></td><td width="93" align="right" class="title_4"><a href="list.asp?cataid=90" target="_blank"><font color="#003399">更多>></font></a></td><td width="11" align="center" class="title_4"></td></tr>
但是标记内部的空格不替换,
求一个正则表达式可以匹配标记外换行和空格!
当然如果哪位大哥大姐有更好的方法也可以。
我这个是要在浏览器中运行的,所以用桌面程序优化的软件就不要推荐上来了!
小弟这先谢了! 展开
如: <tr>
<td width="173" height="30" align="right" class="title_4"><font class="title4title">房产新闻</font></td>
<td width="93" align="right" class="title_4"><a href="list.asp?cataid=90" target="_blank"><font color="#003399">更多>></font></a></td>
<td width="11" align="center" class="title_4"></td>
</tr>
替换为:
<tr><td width="173" height="30" align="right" class="title_4"><font class="title4title">房产新闻</font></td><td width="93" align="right" class="title_4"><a href="list.asp?cataid=90" target="_blank"><font color="#003399">更多>></font></a></td><td width="11" align="center" class="title_4"></td></tr>
但是标记内部的空格不替换,
求一个正则表达式可以匹配标记外换行和空格!
当然如果哪位大哥大姐有更好的方法也可以。
我这个是要在浏览器中运行的,所以用桌面程序优化的软件就不要推荐上来了!
小弟这先谢了! 展开
3个回答
展开全部
//需要使用表达式和替换函数,已知变量s指向你的html代码:
s = s.replace(/((.|\n)*?)(<[^>空喊]+?>)/g, function($0, $1, $2){
return $1.replace(/\s+/g, "前亏汪") + $2;
}
另外提醒下,这样做是有风险的,例如英文间慧仔需要借助空格来分隔单词,但你这样替换后,英文就没法读了.如果只是为了瘦身,你可以把多个空字符替换为一个空格: return $1.replace(/\s+/g, " ") + $2;
s = s.replace(/((.|\n)*?)(<[^>空喊]+?>)/g, function($0, $1, $2){
return $1.replace(/\s+/g, "前亏汪") + $2;
}
另外提醒下,这样做是有风险的,例如英文间慧仔需要借助空格来分隔单词,但你这样替换后,英文就没法读了.如果只是为了瘦身,你可以把多个空字符替换为一个空格: return $1.replace(/\s+/g, " ") + $2;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可坦锋以使用正则的替换功能,把\s(空格) \n(换行)替换为空让搏晌字符,之后就有你想要的效果了,这是一个python语言的脚本,要的话你可以安装一个python环境,银磨执行一下就可以了
import re
re.sub(r'\n','',re.sub(r'\s','',string))
import re
re.sub(r'\n','',re.sub(r'\s','',string))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我用的是Emeditor中的正则表达式。
把哗腊纯下面这局如个删除就好了:乱咐
$\n^\s+|$\n
把哗腊纯下面这局如个删除就好了:乱咐
$\n^\s+|$\n
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询