05. december 2001 - 11:22Der er
4 kommentarer og 1 løsning
ereg_replace
Jeg er ikke så hård til regular expressions, men er man det, er den her barnemad:
Jeg har en streng, som eksempelvis kunne hedde \"122readd@dr.dk.txt\" eller \"341ole@mushroom.dk.txt\" Det er helt nøjagtigt mit unikke id-nummer, en e-mailadresse og et efternavn (det er egentligt et filnavn). Jeg skal have isoleret id-nummeret (fjernet mail.txt), men det gør ikke noget, hvis udtrykket ikke kan klare e-mails, som starter med numre (dem er der alligevel så få af) - men det skulle gerne kunne isolere de første tal i \"431erling_44@savl.dk.txt\", så jeg kun får \"431\" ud og ikke \"43144\". Måske er det en hjælp, at id-nummeret kun kan slutte på \"1\" og \"2\"?
Derefter skal jeg så blot have slettet det sidste kontrolciffer (1 eller 2) så \"321\" bliver til \"32\" og \"432\" til \"43\".
Tillægsspørgsmål (til flere pts. hvis nogen kan svare): I min manual står, at \"array_unique was broken in PHP 4.0.4!\". Hvad skal man så bruge? Er der en anden smart måde at komme af med dubletter i arrays?
Den her: ********** $handle=opendir(\"viewer/tid\"); while ($fi = readdir($handle)) { if ($fi != \'.\' && $fi != \'..\') { ereg(\"^([0-9]*)\",$fi,$regs); }
if ($regs){ sort($regs); foreach($regs as $str) { if ($str) { if (ereg(\"1$\",$str)) { $str=ereg_replace(\"1$\",\"\",$str); } elseif (ereg(\"2$\",$str)) { $str=ereg_replace(\"2$\",\"\",$str); } if ($str!=$old_str) { echo \"$str<br>\"; } $old_str=$str; } } } } *******
gør ca. det jeg skulle bruge. Med mindre nogen haster til med en mere smart måde at gøre det på, får delwin pointsene.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.