PHP抓取页面后正则截取值,只要中间的值解决方法
时间:2021-07-01 10:21:17
帮助过:12人阅读
PHP抓取页面后正则截取值,只要中间的值
页面取得如下值
深圳市ABC电子有限公司 联系人:张先生网址:Http://www.ABCDE.com传真:电话:0755-888888888邮箱:sales@ABCDE.com地址:深圳市福田区上步南路ABCDE大厦R座9D怎样用最简短的正则取得公司名、联系人、传真、电话、邮箱、地址等变量信息呢?基本上也就是分别取出
,
等中间的值。
------解决方案--------------------PHP code
$str=<<深圳市ABC电子有限公司
- 联系人:张先生
- 网址:Http://www.ABCDE.com
- 传真:
- 电话:0755-888888888
- 邮箱:sales@ABCDE.com
- 地址:深圳市福田区上步南路ABCDE大厦R座9D
html;
preg_match_all('/<\/span>(.*?)<\/dd>|- (.*)<\/dt>/m',$str,$arr);
print_r($arr);
------解决方案--------------------
PHP code
深圳市ABC电子有限公司
- 联系人:张先生
- 网址:Http://www.ABCDE.com
- 传真:
- 电话:0755-888888888
- 邮箱:sales@ABCDE.com
- 地址:深圳市福田区上步南路ABCDE大厦R座9D
STR;
preg_match_all('/]*>(?:(.*?):<\/span>)?(?:]*>)?(.*?)(?:<\/span>)?<\/d[dt]>/m',$str,$matches);
print_r($matches[1]);
print_r($matches[2]);
/*Array
(
[0] =>
[1] => 联系人
[2] => 网址
[3] => 传真
[4] => 电话
[5] => 邮箱
[6] => 地址
)
Array
(
[0] => 深圳市ABC电子有限公司
[1] => 张先生
[2] => Http://www.ABCDE.com
[3] =>
[4] => 0755-888888888
[5] => sales@ABCDE.com
[6] => 深圳市福田区上步南路ABCDE大厦R座9D
)
*/
------解决方案--------------------
呃...
还需要改进的话分别按照:切割一下字符串就出来了...
PHP code
$str=<<深圳市ABC电子有限公司
- 联系人:张先生
- 网址:Http://www.ABCDE.com
- 传真:
- 电话:0755-888888888
- 邮箱:sales@ABCDE.com
- 地址:深圳市福田区上步南路ABCDE大厦R座9D
HTML;
echo strip_tags($str);