0

やあみんな、私はURLにフィールドを投稿しているので、print $ resultを使用して返されたデータは次のように表示されます(ブラウザのソースの表示から)

    <html>
        <body>TransID=0&REFNO=&Auth=&AVSCode=&CVV2ResponseMsg=&Notes=Your merchant information is not correct.&User1=&User2=&User3=&User4=
        </body>
    </html>

上にもう1つの空の行があり、それらを操作できるように、これらのボディペアを配列として取得する必要があります。

4

2 に答える 2

1
<?php

$html = "<html>
        <body>TransID=0&REFNO=&Auth=&AVSCode=&CVV2ResponseMsg=&Notes=Your merchant information is not correct.&User1=&User2=&User3=&User4=
        </body>
    </html>";

$dom = new DOMDocument();
@$dom->loadHTML( $html ); //Lots of invalid html going on so I am suppressing the warnings
$xpath = new DOMXPath( $dom );

$str = $xpath->query( '//body/text()')->item(0)->textContent;

parse_str( $str, $params );

print_r( $params );

/*

Array
(
    [TransID] => 0
    [REFNO] => 
    [Auth] => 
    [AVSCode] => 
    [CVV2ResponseMsg] => 
    [Notes] => Your merchant information is not correct.
    [User1] => 
    [User2] => 
    [User3] => 
    [User4] => 

)

*/
于 2012-11-23T17:46:52.417 に答える
0

あなたは標準のphp関数によってこれを解決することができます

 $cContent =    "<html>
   <body>TransID=0&REFNO=&Auth=&AVSCode=&CVV2ResponseMsg=&Notes=Your merchant information is not correct.&User1=&User2=&User3=&User4=
    </body>
</html>";

 echo $cContent = trim(strip_tags($cContent));


 parse_str($cContent, $aParams);

 print_r($aParams);
于 2012-11-23T18:00:01.733 に答える