Einzelnen Beitrag anzeigen
  #3  
Alt 17.06.2017, 10:54:38
JayJericho JayJericho ist offline
Anfänger
 
Registriert seit: Jun 2017
Alter: 41
Beiträge: 2
AW: If / While Schleife funktioniert nicht

Danke fürs Willkommenheißen :)

Ja, $pos wird falsch, sobald die nummer nicht mehr vorhanden ist, die else Funktion tritt dann ein. Das hat alles wunderbar geklappt, wenn ich es manuell eingebe, nur eben nicht wenn ich es in eine Schleife stecke :(


Der ganze Code ist ein wenig lang, um ihn hier zu posten, aber im Prinzip sieht das Ganze so aus (ohne Schleife)

Code:
$web_page = http_get(xxxx)

$i ="1";
$i2 = 'data-number="';
$i3 = $i2.$i;
$i4 = $i+1;                                                              

$target = $web_page['FILE'];                                                
$findno1   = $i3;                                                               
$pos = strpos($target, $findno1);                                            

                                                                             
if ($pos == true)                                                          

{

$nr1 = return_between($web_page['FILE'], 'data-index="'.$i, 'data-index="'.$i4, EXCL);

//Check ob No Runner

$nunrunner = $nr1;                                                             
$findnorunner   = "/silks/nonrunner.png";                                   
$posnorunner = strpos($nr1, $findnorunner);                                  

if ($posnorunner == false)                                                      

{

$starternr1 = return_between($nr1, 'data-number="', '"', EXCL);
echo "<p></p>",$starternr1;

//....... mehr code

$sg11 = return_between($nr1, 'name summary form-, '<i class="icon-tracker"></i></a></h2>', EXCL);

//....... mehr code

// das lässt sich leichter zusammenfassen, ist aber zum debuggen leichter für mich wenn es einzeln aufgelistet ist
$sg11 = strip_tags($sg11);
$sg11 = str_replace("&#xA;", "", $sg11);
$sg11 = str_replace("<th>", "", $sg11);
$sg11 = str_replace("</th>", "", $sg11);
$sg11 = str_replace("<td>", "", $sg11);
$sg11 = str_replace("</td>", "", $sg11);
$sg11 = str_replace("&amp", "", $sg11);
$sg11 = str_replace(";amp;", "", $sg11);
$sg12 = return_between($sg11, 'All', 'Grey ', INCL);
echo "<xmp>",$sg12,"</xmp>";

//....... mehr code


}

else                                                                       

{

$starternr1 = return_between($nr1, 'data-number="', '"', EXCL);
echo "<p></p>",$starternr1;
                                                                    
$form1 = return_between($nr1, 'card-form__stats">', '<', EXCL);
echo "<p></p>",$form1;

//....... mehr code

}

///////////////////////////// Ende IF Funktion 2


}


else

{
    echo "Ende";

}

?>
Ich habs mal ein wenig zusammengestrichen. Wenn ich die Nummer manuell variiere, stimm das Ergebnis immer. Lasse ich es mit einer Schleife und $i++ addieren, hängt sich z.B. Scriptly auf. Einmal hatte ich bei einer Konstruktion "empty needle" nach dem Abbruch als Fehlermeldung, lässt sich aber derzeit nicht reproduzieren.
Mit Zitat antworten