Gå til innhold

Hente verdi fra streng


Anbefalte innlegg

$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
Videoannonse
Annonse

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 av Shadows0
Lenke til kommentar

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 :p

 

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

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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...