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('/(.*?)|- (.*)/m',$str,$arr);
print_r($arr);
------解决方案--------------------
PHP code
<?php $str=<<<STR
<dt>深圳市ABC电子有限公司
-
联系人:张先生
-
网址:Http://www.ABCDE.com
- 传真:
-
电话:0755-888888888
-
邮箱:sales@ABCDE.com
-
地址:深圳市福田区上步南路ABCDE大厦R座9D
STR;
preg_match_all('/]*>(?:(.*?):)?(?:]*>)?(.*?)(?:)?/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);