aslet Skrevet 21. mars 2007 Del Skrevet 21. mars 2007 $tekst = 'Bla blahei hallais id="denneID123" diverse snakkerier id="denneID321" jada jada jada'; Hvordan får jeg hentet ut tallene fra strengen som er mellom id="denneID og " og deretter lagt de i en array? Det nummeret som skal hentes ut er alltid 3 siffer Altså: i strengen ovenfor skal jeg ha ut 123 (id="denneID123") og 321 (id="denneID321") Lenke til kommentar
Runar0 Skrevet 21. mars 2007 Del Skrevet 21. mars 2007 (endret) PHP <?php $tekst = 'Bla blahei hallais id="denneID123" diverse snakkerier id="denneID321" jada jada jada'; while(preg_match("/id=".*?([0-9]+?)"/i", $text, $match) { echo "id: $match[1]<br />"; } ?> Trur den beste måten er ved å bruke regexp som over. Har ikkje testet koden så det kan vere at det er noe feil der, men det setter deg i hvertfall på rett spor Endret 21. mars 2007 av Shadows0 Lenke til kommentar
-morten Skrevet 21. mars 2007 Del Skrevet 21. mars 2007 Nja, hvis man legger til den manglende parantesen og escaper det andre anførselstegnet, samt retter variabelnavnet, så ender man bare opp med en evig loop Men du er jo inne på det Denne løsningen virker: PHP <?php$tekst = 'Bla blahei hallais id="dennetID123" diverse snakkerier id="denneID321" jada jada jada'; preg_match_all('/id=".*(d+)"/Ui', $tekst, $match); $match = $match[1]; foreach ($match as $id) echo "ID: $id"; ?> Lenke til kommentar
aslet Skrevet 21. mars 2007 Forfatter Del Skrevet 21. mars 2007 PHP <?php $tekst = 'Bla blahei hallais id="denneID123" diverse snakkerier id="denneID321" jada jada jada'; preg_match_all('/id=".*(d+)"/Ui', $tekst, $match); $match = $match[1]; foreach ($match as $id) echo "ID: $id "; ?> Dette får jeg ikke til å funke. Kanskje dere ikke forstod meg. Det jeg vil hente ut er alt som er bundet inn med id="dennetID foran og " bak. Alle funn vil så bli lagret i en array. Lenke til kommentar
-morten Skrevet 21. mars 2007 Del Skrevet 21. mars 2007 Ja, det er det koden gjør. Det vil si, den lagrer bare -tall- etter "denneID", siden det virket som det var det du ville. Men ok, denne matcher hva som helst som er bundet inn med id="denneID foran og " bak: preg_match_all('/id="denneID(.+)"/Ui', $tekst, $match); $match = $match[1]; Nå er $match et array som inneholder alle funnene. Lenke til kommentar
aslet Skrevet 21. mars 2007 Forfatter Del Skrevet 21. mars 2007 Nå funker det her ja. Tusen takk for hjelpa! Lenke til kommentar
Runar0 Skrevet 22. mars 2007 Del Skrevet 22. mars 2007 Nja, hvis man legger til den manglende parantesen og escaper det andre anførselstegnet, samt retter variabelnavnet, så ender man bare opp med en evig loop 8206823[/snapback] Var litt stressa Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå