natsort van de output van de ereg

Praat mee over van alles en nog wat!
Forumregels
Dit forum is voor alle zinnige gesprekken buiten phpBB om. Discussies en gesprekken over interessante onderwerpen.

Een nieuw onderwerp moet..:
  • uiteraard voldoen aan de algemene voorwaarden
  • niet passen in de gewone supportfora
  • interessante zijn voor het overgrote deel van onze gebruikers
  • een neutrale of positieve ondertoon hebben
  • anders zijn dan bestaande onderwerpen
Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 24 feb 2005, 21:50

Ik laat hem alleen aanpassen als hij uit twee karakters bestaat

Code: Selecteer alles

$lengte = strlen($txt0[1]);
if ($lengte  == 2 ){
$txt0[1] = str_replace("A1", "A01", "$txt0[1]"); 
$txt0[1] = str_replace("A2", "A02", "$txt0[1]"); 
$txt0[1] = str_replace("A3", "A03", "$txt0[1]"); 
$txt0[1] = str_replace("A4", "A04", "$txt0[1]"); 
$txt0[1] = str_replace("A8", "A08", "$txt0[1]"); 
$txt0[1] = str_replace("A9", "A09", "$txt0[1]"); 
}
dan soorteerd hij hem

En voordat hij hem echoöd, moet hij het weer omkeren

Maar dit kan niet???

Code: Selecteer alles

$file[$i]["loc"] = str_replace('A01', 'A1', '$file[$i]["loc"]'); 
of
$file[$i]['loc'] = str_replace("A01", "A1", "$file[$i]['loc']"); 

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 24 feb 2005, 21:55

DAMnet schreef:Ik laat hem alleen aanpassen als hij uit twee karakters bestaat

Code: Selecteer alles

$lengte = strlen($txt0[1]);
if ($lengte  == 2 ){
$txt0[1] = str_replace("A1", "A01", "$txt0[1]"); 
$txt0[1] = str_replace("A2", "A02", "$txt0[1]"); 
$txt0[1] = str_replace("A3", "A03", "$txt0[1]"); 
$txt0[1] = str_replace("A4", "A04", "$txt0[1]"); 
$txt0[1] = str_replace("A8", "A08", "$txt0[1]"); 
$txt0[1] = str_replace("A9", "A09", "$txt0[1]"); 
}
dan soorteerd hij hem

En voordat hij hem echoöd, moet hij het weer omkeren

Maar dit kan niet???

Code: Selecteer alles

$file[$i]["loc"] = str_replace('A01', 'A1', '$file[$i]["loc"]'); 
of
$file[$i]['loc'] = str_replace("A01", "A1", "$file[$i]['loc']"); 
Dit lijkt te werken ;)

Code: Selecteer alles

$aweg = $file[$i]['loc'];
$aweg = str_replace("A01", "A1", "$aweg"); 

echo "<tr>"; 
echo "<td valign='top'><font color='#FF0000'><b>&nbsp;"; 
echo $aweg;
http://damnet4u.demon.nl/test/index2.php

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 24 feb 2005, 22:07

DAMnet schreef:$file[$i]["loc"] = str_replace('A01', 'A1', "$file[$i]["loc"]");
of
$file[$i]['loc'] = str_replace("A01", "A1", "$file[$i]['loc']");
Dit is zoiezo onzin, van een variabele eerst een string forceren als functie argument. Met de enkele quotes ' zal dat niet eens werken.

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 24 feb 2005, 22:39

mosymuis schreef:
DAMnet schreef:$file[$i]["loc"] = str_replace('A01', 'A1', "$file[$i]["loc"]");
of
$file[$i]['loc'] = str_replace("A01", "A1", "$file[$i]['loc']");
Dit is zoiezo onzin, van een variabele eerst een string forceren als functie argument. Met de enkele quotes ' zal dat niet eens werken.
ja daar kwam ik ook achter, maar door niet te vallen kun je ook niet leren opstaan ;)

Er is nog nog een vreemd iets.

Zonder als deze aanpassingen, werkden de N wegen GEEL

Code: Selecteer alles

if (ereg ("(A)", $txt0[1])) {

$bgcolor = "bgcolor='#FF0000'";
$fontcolor = "color='#FFFFFF'"; 
$border = "border='1'"; 
$cellpadding = "cellpadding='1'";
}
else
{
// $bgcolor = "bgcolor='#FFFF33'";
$bgcolor = "bgcolor='#DFDF00'";
$fontcolor = "color='#000000'"; 
$border = "border='1'"; 
$cellpadding = "cellpadding='1'";
}
Maar nu werkt dat niet meer :(

Alles is nu rood, maak ik van

Code: Selecteer alles

if (ereg ("(A)", $txt0[1]))

Code: Selecteer alles

if (ereg ("(r)", $txt0[1]))
dan is alles GEEL, hij kijkt er nu wel naar.

Als ik $txt0[1] laat echoën voor

Code: Selecteer alles

if (ereg ("(A)", $txt0[1]))
staat er gewoon A12A14A16A20 enz......

Wijziging: Echo oude situatie geeft als resultaat
A12
A14
A16
A20

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 24 feb 2005, 22:51

Zo gefixed

if (ereg ("(A)", $aweg))

En het werkt weer


Thanks voor je geduld...

Eind resultaat staat op Verkeersinfo

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 01 mar 2005, 15:04

Heb jij soms een idee waarom hij soms de N-weg bovenaanzet (meestal niet)
Hier onder de dump vanuit de bron ;)

Heb ook ff news.xml in de test root gezet en zie het resulaat: http://damnet4u.demon.nl/test/index2.php
Dennis

Code: Selecteer alles

  ["N357"]=>
  array(1) {
    [0]=>
    array(3) {
      ["loc"]=>
      string(4) "N357"
      ["desc"]=>
      string(20) "Leeuwarden - Holwerd"
      ["info"]=>
      string(86) "Tussen Vrouwenparochie en Hallum in beide richtingen afgesloten, Gekanteld vrachtwagen"
    }
  }
  [0]=>
  array(2) {
    [0]=>
    array(3) {
      ["loc"]=>
      bool(false)
      ["desc"]=>
      bool(false)
      ["info"]=>
      string(62) "In het gebied De Provincie Noord-Holland Gladde weg, Sneeuwval"
    }
    [1]=>
    array(3) {
      ["loc"]=>
      bool(false)
      ["desc"]=>
      bool(false)
      ["info"]=>
      string(57) "In het gebied De Provincie Gelderland Bericht ingetrokken"
    }
  }
  ["A12"]=>
  array(1) {
    [0]=>
    array(3) {
      ["loc"]=>
      string(3) "A12"
      ["desc"]=>
      string(25) "Utrecht richting Den Haag"
      ["info"]=>
      string(63) "Tussen driehoek Gouwe en afslag Waddinxveen Bericht ingetrokken"
    }
  }
}
Normaliter zet hij neer van boven naar beneden
Waarschuwingsmelding, A-weg, N-weg
FALSE (= waarschuwingsmelding)
A1
A2
A4
enz....
N356
Laatst gewijzigd door Dennis op 01 mar 2005, 16:09, 2 keer totaal gewijzigd.

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 01 mar 2005, 15:41

Want nu (35 min later), doet hij het wel goed.......

Code: Selecteer alles

 [0]=>
  array(1) {
    [0]=>
    array(3) {
      ["loc"]=>
      bool(false)
      ["desc"]=>
      bool(false)
      ["info"]=>
      string(62) "In het gebied De Provincie Noord-Holland Gladde weg, Sneeuwval"
    }
  }
  ["A10"]=>
  array(1) {
    [0]=>
    array(3) {
      ["loc"]=>
      string(3) "A10"
      ["desc"]=>
      string(49) "Ring Amsterdam: De Nieuwe Meer richting Coenplein"
      ["info"]=>
      string(80) "Tussen afslag IJmuiden en Coentunnel <b>2</b><b> km</b> langzaam rijdend verkeer"
    }
  }
  ["A15"]=>
  array(1) {
    [0]=>
    array(3) {
      ["loc"]=>
      string(3) "A15"
      ["desc"]=>
      string(29) "Rozenburg richting Ridderkerk"
      ["info"]=>
      string(65) "Tussen afslag Spijkenisse en afslag Hoogvliet Bericht ingetrokken"
    }
  }
  ["N357"]=>
  array(1) {
    [0]=>
    array(3) {
      ["loc"]=>
      string(4) "N357"
      ["desc"]=>
      string(20) "Leeuwarden - Holwerd"
      ["info"]=>
      string(86) "Tussen Vrouwenparochie en Hallum in beide richtingen afgesloten, Gekanteld vrachtwagen"
    }
  }
}

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 01 mar 2005, 16:37

Ik denk het gefixed te hebben.

Daarna:

Code: Selecteer alles

ereg("<Class>0</Class><Text>(.*)</Text></Data><Data><Class>1</Class>",$filechunks[$i], $txt0); 
    ereg("<Class>1</Class><Text>(.*)</Text></Data><Data><Class>2</Class>",$filechunks[$i], $txt1); 
    ereg("<Class>2</Class><Text>(.*)</Text></Data><Data><Class>3</Class>",$filechunks[$i], $txt2); 
    ereg("<CreateTime>(.*)</CreateTime>",$filechunks[$i], $extrainfo); 
Te zetten:

Code: Selecteer alles

if ($txt0[1] == FALSE)
{
$txt0[1] = "00";
}
Het vreemde is dat het niet altijd fout gaat, maar lijkt nu goed te blijven gaan.

Plaats reactie