为什么用preg_match 抓不到<head></head>之间的内容

life169 2010-07-24 11:03:11
我用的代码是:

preg_match("/<head>(.*)<\/head>/i",$content, $matches);


匹配不到任何内容

而用

eregi("<head>(.*)</head>",$content, $matches);


则能抓到<head></head>之间的内容

谁能给出preg_match抓取<head></head>之间的内容的正则。
...全文
48 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
life169 2010-07-24
知道原因了,结贴给分。
感谢 amani11 同学
回复
life169 2010-07-24
感谢 amani11
能讲一下为什么吗
为什么/i和/isu不行,而/is却可以呢
回复
amani11 2010-07-24


require_once("snoopy.class.php");
$snoopy = new Snoopy;
$url="http://www.sina.com.cn";
$snoopy->fetch($url);
$content = $snoopy->results;
preg_match("/<head>(.*?)<\/head>/is",$content, $matches);//这样应该可以了
print_r($matches);

回复
life169 2010-07-24

require_once("snoopy.class.php");
$snoopy = new Snoopy;
$url="http://www.sina.com.cn";
$snoopy->fetch($url);
$content = $snoopy->results;
preg_match("/<head>(.*)<\/head>/i",$content, $matches);
print_r($matches);

总是抓不到东西,页面光光的,查看原码也是空的。
回复
amani11 2010-07-24
$content
回复
amani11 2010-07-24
代码贴出来看看
回复
life169 2010-07-24
to helloyou0
能说具体点吗?
preg_match("/<head>(.*)<\/head>/mi",$content, $matches);
是这样吗?经测试还是不行啊。
回复
helloyou0 2010-07-24
/mi
回复
life169 2010-07-24
申明一下,不是大小写的问题。页面的原代码都是小写的。
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告