谁能解释一下 4 行 php 代码吗?我很困惑

发布于 2024-09-13 07:32:00 字数 585 浏览 5 评论 0原文

code-

$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 是一个数组,我主要是consern ablut str_replacepreg_replace_all 函数行

code-

$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 is an array, I am mainly consern ablut str_replace and preg_replace_all function line

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

老娘不死你永远是小三 2024-09-20 07:32:00
$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);

意味着开发人员不知道 HTML 不应使用正则表达式进行解析。

$res = str_replace(
    array('  ','   ',PHP_EOL,"\n","\r\n"),
    array('','','','',''),
    $res);

means: replace the strings in the first array with the values in the second array, e.g. turn two spaces into nothing, turn three spaces into nothing, turn the platform dependent newline character to nothing, turn newline character to nothing, turn carriagereturn followed by newline to nothing.

preg_match_all("#\<tr class\=\"phead\"\>\<td colspan\=\"2\"\>(.+)\<\/tr\>(.+)\<div class\=\"first\"\>\<\/div\>\<div\>\<\/div\>(.+)\<\/div\>#U",$res,$bulk);

means the developer had no clue that HTML should not be parsed with Regex.

并安 2024-09-20 07:32:00

在该代码中,str_replace删除空格字符,并且preg_match_all通过正则表达式匹配html中的某些值,代码中没有preg_replace_all

in that code str_replace removes whitespace characters and preg_match_all matches by regex some values in the html, there is no preg_replace_all in the code

冷默言语 2024-09-20 07:32:00
$res=$this->post("http://address.mail.yahoo.com/?_src=&VPC=print",$post_elements);
$emailA=array();

->将数据发布到 http://address.mail.yahoo.com/?_src=&VPC=print 并获取响应,分配给 $res

$res=str_replace(array('  ','   ',PHP_EOL,"\n","\r\n"),array('','','','',''),$res);

-->删除任何 while-space、tab-space、end-line ...

并参考此处的最后一个
http://php.net/manual/en/function.preg-匹配所有.php

$res=$this->post("http://address.mail.yahoo.com/?_src=&VPC=print",$post_elements);
$emailA=array();

-> post data to http://address.mail.yahoo.com/?_src=&VPC=print and get the response, assign to $res

$res=str_replace(array('  ','   ',PHP_EOL,"\n","\r\n"),array('','','','',''),$res);

--> delete any while-space, tab-space, end-line ...

and reference here for the last one
http://php.net/manual/en/function.preg-match-all.php

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文