0

コード-

$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は配列です。私は主に ablutstr_replacepreg_replace_all関数行を考慮しています

4

3 に答える 3

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

意味: 最初の配列の文字列を 2 番目の配列の値に置き換えます。たとえば、2 つのスペースを無に変える、3 つのスペースを無に変える、プラットフォーム依存の改行文字を無に変える、改行文字を無に変える、キャリッジリターンに続いて改行を回す何にも。

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

開発者は、HTML を Regex で解析してはならないという手がかりがなかったことを意味します。

于 2010-08-10T11:34:16.663 に答える
0

そのコードでは、str_replace は空白文字を削除し、preg_match_all は html の一部の値を正規表現で一致させます。コードには preg_replace_all はありません。

于 2010-08-10T11:33:48.080 に答える
0
$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-match-all.php

于 2010-08-10T11:37:33.347 に答える