2013年09月10日 04:01:32

解析html中的meta charset

作者: 
源码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>匹配html中的meta charset - Zjmainstay</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta http-equiv="Content-Language" content="zh-CN" />
</head>
<body>
</body>
</html>

正则:
<meta[^>]*?charset=(["'/>]?)([^"'\s/>]+)\1[^>]*?>

解析:
首先以<meta为锚点,然后它后面的非闭合字符全部忽略,用[^>]*?替代,

接着匹配它的内容charset=,紧接着chaset=后面可能是单引号或双引号甚至没有,因此用["']?,

而为了后面闭合引用,给它们加了括号,接下来就是charset真正内容的部分,

此部分不为单双引号、空格、标签闭合符/和>,并且至少一个字符,因此用[^"'\s/>]+,而这部分需要提取,

因此加了括号,紧跟着闭合字符,引用charset=后面的(["']?),所以为\1,

而它后面的数据没有用处了,用[^>]*?匹配到闭合符号>前即可,最后以>结束。



未经同意禁止转载!
转载请附带本文原文地址:解析html中的meta charset,首发自 Zjmainstay学习笔记
阅读( 7290 )
看完顺手点个赞呗:
(6 votes)

1.PHP cURL群:PHP cURL高级技术
2.正则表达式群:专精正则表达式
3. QQ联系(加请说明):QQ联系博主(951086941)
4. 邮箱:zjmainstay@163.com
5. 打赏博主:

网站总访问量: