我谁做过正则表达式:我现在想查看某个域名的创建时间,做了个正则,为什么什么都不显示,大家看看问题出在哪里 代码如下:
 $web=" http://tool.chinaz.com/DomainDel/?wd=bitemei.com";
$url= file_get_contents($web);
$zhengze="/域名创建时间(.*)域名到期时间/";
preg_match($zhengze,$url,$arr);
print_r($arr);域名创建时间</td><td class="deltd1">2010-03-09</td></tr><tr class="seo_item"><td width="30%" class="deltd">域名到期时间

解决方案 »

  1.   

    试试
    $zhengze="/域名创建时间\s\S域名到期时间/";
      

  2.   

    错了
    $zhengze="/域名创建时间([\s\S]*)域名到期时间/";
      

  3.   


    我换成你这个了,还是现实Array ( )  这个结果,什么都没查到 为什么呢。。?  正则好像也没错啊。,。
      

  4.   

    因为规则中有中文字符,涉及到编码问题,
    http://tool.chinaz.com/DomainDel/?wd=bitemei.com 是utf-8编码所以在你的程序中加一句header("Content-type:text/html;charset=utf-8");如果你不想改变自己的编码,也可以:$url = mb_convert_encoding($url,'gbk','utf-8');
    转换编码后再匹配。header("Content-type:text/html;charset=gbk");
    $web ="http://tool.chinaz.com/DomainDel/?wd=bitemei.com";
    $url = file_get_contents($web);
    $url = mb_convert_encoding($url,'gbk','utf-8');
    $zhengze ="/域名创建时间(.*)域名到期时间/";
    preg_match($zhengze,$url,$arr);
    print_r($arr);输出:
    Array
    (
        [0] => 域名创建时间</td><td class="deltd1">2010-03-09</td></tr><tr class="seo_item"><td width="30%" class="deltd">域名到期时间
        [1] => </td><td class="deltd1">2010-03-09</td></tr><tr class="seo_item"><td width="30%" class="deltd">
    )
      

  5.   


    +1
    关于用utf8的一点补充因为规则中有中文字符,涉及到编码问题,
    http://tool.chinaz.com/DomainDel/?wd=bitemei.com 是utf-8编码所以在你的程序中加一句header("Content-type:text/html;charset=utf-8");你的php文件一定要是utf8
    就是你的文件一定要和内容的编码一直,因为你用的是字符直接量,编码就是文件的编码!