代码 -
$res=$this->post("http://address.mail.yahoo.com/?_src=&VPC=print",$post_elements);
$emailA=array();
$bulk=array();
$res=str_replace(array(' ',' ',PHP_EOL,"\n","\r\n"),array('','','','',''),$res);
preg_match_all("#\<tr class\=\"phead\"\>\<td colspan\=\"2\"\>(.+)\<\/tr\>(.+)\<div class\=\"first\"\>\<\/div\>\<div\>\<\/div\>(.+)\<\/div\>#U",$res,$bulk);
$post_element
是一个数组,我主要关注str_replace
和preg_replace_all
函数行
答案 0 :(得分:2)
$res = str_replace(
array(' ',' ',PHP_EOL,"\n","\r\n"),
array('','','','',''),
$res);
表示:用第二个数组中的值替换第一个数组中的字符串,例如:将两个空格变为空,将三个空格变为空,将平台相关的换行符转为空,将换行符转为空,将转行后跟换行后转为空。
preg_match_all("#\<tr class\=\"phead\"\>\<td colspan\=\"2\"\>(.+)\<\/tr\>(.+)\<div class\=\"first\"\>\<\/div\>\<div\>\<\/div\>(.+)\<\/div\>#U",$res,$bulk);
意味着开发人员不知道不应该使用Regex解析HTML。
答案 1 :(得分:0)
在那个代码中,str_replace删除了空白字符和preg_match_all匹配的hge中的一些值,代码中没有preg_replace_all
答案 2 :(得分:0)
$res=$this->post("http://address.mail.yahoo.com/?_src=&VPC=print",$post_elements);
$emailA=array();
- &GT;将数据发布到http://address.mail.yahoo.com/?_src=&VPC=print
并获取响应,分配给$ res
$res=str_replace(array(' ',' ',PHP_EOL,"\n","\r\n"),array('','','','',''),$res);
- &GT;删除任何while-space,tab-space,end-line ......
并在此引用最后一个 http://php.net/manual/en/function.preg-match-all.php