php抓取百度邮编搜索结果,应改如何写正则表达式?
PHP中文网
PHP中文网 2017-04-10 15:04:21
[PHP讨论组]

本人小白,想通过百度邮编搜索截取一个地址的邮编,在自己的网站空间里放了个php脚本。
因为要求不是很高,试图通过正则匹配找到第一组“首位不为0的六位数字”,作为结果输出,但是不管怎么尝试,得到的始终是一个空数组……
正则表达式是我从网上找的,也是过不同的形式,但是始终都得不到任何值

");
echo($clear_result);
echo("
"); $zipcodes = search_for_zipcodes($clear_result); print_r($zipcodes); function search_for_zipcodes($test) { $rule = '/^[1-9]\d{5}$/'; preg_match_all($rule,$test,$result); return $result; } ?>

mb_detect_encoding($search_result),写这一句是想看看返回回来的页面的编码,但是这个函数似乎也得不到任何结果……

如果漏洞百出烦请诸位大神耐心指教,本人真的是小白一只……

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(1)
阿神

把$rule = '/^[1-9]\d{5}$/';换成
$rule = '/[1-9]\d{5}/';试试
因为,你用了strip_tags.所以,很多内容,都直接合并成“一行”了。再用^,$应该是匹配不到的

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号