2017-06-06 11 views
0

Ich bin neu in der ganzen CURL-Bibliothek in PHP und verwalten sucesfully von einem Website Post-Daten erhalten mit dem folgenden Code:Speicher ROTATION Ergebnis in einer Variablen PHP

<?php 
    $postcode="6942GJ"; 
    $huisnummer="8"; 
    $marktsegment="27"; 
    $aansluiting="-"; 
    $url="http://notimportantforstackoverflow.com"; 
    $postdata = "postcode=".$postcode."&huisnummer=".$huisnummer."&marktsegment=".$marktsegment."&aansluiting=".$aansluiting; 
    $ch = curl_init(); 
    curl_setopt ($ch, CURLOPT_URL, $url); 
    curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); 
    $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
    $result = curl_exec ($ch); 
    curl_close($ch); 
    ?> 

Wich gibt die folgende Tabelle:

<table cellspacing="1" cellpadding="1" border="0"> 
 
\t \t <tbody><tr valign="bottom"> 
 
\t \t \t <td class="resultHeader"> 
 
\t \t \t \t Ean code aansluiting 
 
\t \t \t </td> 
 
\t \t \t <td class="resultHeader"> 
 
\t \t \t \t Straatnaam 
 
\t \t \t </td> 
 
\t \t \t <td class="resultHeader"> 
 
\t \t \t \t Huisnr. 
 
\t \t \t </td> 
 
\t \t \t <td class="resultHeader"> 
 
\t \t \t \t Huisnr. toev. 
 
\t \t \t </td> 
 
\t \t \t <td class="resultHeader"> 
 
\t \t \t \t Woonplaats 
 
\t \t \t </td> 
 
\t \t \t <td class="resultHeader"> 
 
\t \t \t \t Postcode 
 
\t \t \t </td> 
 
\t \t \t <td class="resultHeader"> 
 
\t \t \t \t Bijzondere aansluiting 
 
\t \t \t </td> 
 
\t \t \t <td class="resultHeader"> 
 
\t \t \t \t Markt segment 
 
\t \t \t </td> 
 
\t \t \t <td class="resultHeader"> 
 
\t \t \t \t Naam Netbeheerder 
 
\t \t \t </td> 
 
\t \t \t <td class="resultHeader"> 
 
\t \t \t \t Ean Netbeheerder 
 
\t \t \t </td> 
 
\t \t </tr> 
 
\t \t <tr height="1"> 
 
\t \t \t <td bgcolor="#FFFFFF" colspan="10"></td> 
 
\t \t </tr> 
 
\t \t <tr height="1"> 
 
\t \t \t <td bgcolor="#FEEAD3" colspan="10"></td> 
 
\t \t </tr> 
 
\t \t <tr height="2"> 
 
\t \t \t <td colspan="4"></td> 
 
\t \t </tr> 
 
\t \t \t <tr bgcolor="#E5F0E7"> 
 
\t 
 
\t \t \t <td class="resultData"> 
 
\t \t \t \t 871687140007253845 \t \t \t </td> 
 
\t \t \t <td class="resultData"> 
 
\t \t \t \t Pittelderstraat \t \t \t </td> 
 
\t \t \t <td class="resultData"> 
 
\t \t \t \t 8 \t \t \t </td> 
 
\t \t \t <td class="resultData"> 
 
\t \t \t \t \t \t \t \t \t &nbsp; 
 
\t \t \t \t \t \t \t </td> 
 
\t \t \t <td class="resultData"> 
 
\t \t \t \t DIDAM \t \t \t </td> 
 
\t \t \t <td class="resultData"> 
 
\t \t \t \t 6942GJ \t \t \t </td> 
 
\t \t \t <td class="resultData"> 
 
\t \t \t \t NEE \t \t \t </td> 
 
\t \t \t <td class="resultData"> 
 
\t \t \t \t \t \t \t \t \t GAS 
 
\t \t \t \t \t \t \t </td> 
 
\t \t \t <td class="resultData"> 
 
\t \t \t \t Liander NB \t \t \t </td> 
 
\t \t \t <td class="resultData"> 
 
\t \t \t \t 8716871000002 \t \t \t </td> 
 
\t \t </tr> 
 
\t \t \t </tbody></table>

mag ich mit den resultierenden Daten arbeiten, speziell die resultierende Zeichenfolge „Liander NB“ ich will einen var machen aus diesem Ergebnis wie so $ beheerder = "Liander NB"; Aber ich weiß nicht, wie man aus den resultierenden CURL-Daten eine Variable macht.

+1

Sie vergessen, die Variablen codieren. Sie erhalten die falsche URL, wenn $ aansluiting ein Leerzeichen oder & oder <> Sonderzeichen enthält. check out 'urlencode()' oder noch besser 'http_build_query' – hanshenrik

Antwort

1

Verwenden Sie die Option CURLOPT_RETURNTRANSFER, um curl_exec() die Antwort zurückzugeben.

curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); 
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
$result = curl_exec ($ch); 

Dann können Sie DOMDocument verwenden Sie den HTML-Code in der Antwort zu analysieren und seine Methoden, um die Informationen, die Sie im HTML wollen zu finden.

0

Danke Barmar, ich habe den Rücktransfer hinzugefügt. verwendet einen leicht different Ansatz mit dem PHPSimpleDOM Parser aber das Ergebnis ist das gleiche, ich finde es einfacher zu arbeiten mit im Gegensatz zu DomDocument.

<?php 
$postcode  = ($_POST['postcode']); 
$huisnummer = ($_POST['huisnummer']); 
$marktsegment = "27"; 
$aansluiting = "-"; 
$url   = "xxxxxxxxx"; 
include('simple_html_dom.php'); 


$postdata = "postcode=" . $postcode . "&huisnummer=" . $huisnummer . "&marktsegment=" . $marktsegment . "&aansluiting=" . $aansluiting; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); 


// Create a DOM object 
$dom = new simple_html_dom(); 
// Load HTML from a string 
$dom->load(curl_exec($ch)); 

$gasleverancier = $dom->find('td', 38)->plaintext; // zero based index selector 

$gasleverancier = trim($gasleverancier);