Avatar billede qub- Novice
29. november 2009 - 19:05 Der er 8 kommentarer og
1 løsning

Matche et tal i en streng

Hejsa..

Jeg skal ha tjekket om et nævnt id findes i min streng..

Min streng ku fx se således ud :
$streng = "3,5,16,17,27";

Har prøvet følgende:

if (preg_match("16", $streng)) {


Men får denne fejl: Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash


Hvordan gør jeg så dette ?
Avatar billede virtual1ty Nybegynder
29. november 2009 - 19:17 #1
Kan du ikke bare:

if (strpos($streng, "16") > -1) {
// "16 fundet"
Avatar billede erikjacobsen Ekspert
29. november 2009 - 19:23 #2
Den skal være
  if (preg_match("/16/", $streng)) {
(Eller som virtuality skriver) men den vil så også matche "116".
Avatar billede qub- Novice
29. november 2009 - 19:39 #3
hmm det er lidt et problem hvis den kan matche flere forskellige..

Eftersom jeg har id's der går op til 30, vil der jo også opstå et problem med 3, og 30..

Kan man ikke isolere det på en måde, fx med de i forevejen eksisterende ,  ?
Avatar billede erikjacobsen Ekspert
29. november 2009 - 20:14 #4
Hvis du har en streng som ",3,7,9,13," og leder efter ",3," så er der ingen tvetydighed.

Ellers kan du lede på ordgrænser:
 
  if (preg_match("/\b16\b/", $streng)) {

Eller lave et array med http://php.net/split

....eller overveje om du har skruet dine data rigtigt sammen.
Avatar billede preppydude Nybegynder
29. november 2009 - 21:25 #5
....eller overveje om du har skruet dine data rigtigt sammen.
Sad lige og tænkte på det samme. :D
Avatar billede qub- Novice
30. november 2009 - 11:55 #6
hvad mener i med om de er skruet ordentlig sammen?

Men jeg fandt en brugbar løsning, så "erikjacobsen" du må gerne smide et svar :)
Avatar billede preppydude Nybegynder
30. november 2009 - 12:24 #7
At det virker som en "hovsa" løsning. En uholdbar og ikke gennemtænkt løsning. Men jeg kan tage fejl, selvfølgelig. Aner ikke hvad du bruger de tal til. :)
Avatar billede erikjacobsen Ekspert
30. november 2009 - 12:52 #8
Jeg samler slet ikke på point, tak.

Ja, det kan være en fornuftig løsning, men det afhænger af hvad du skal bruge det til. Ellers lugter det af klamphuggeri :)
Avatar billede qub- Novice
02. december 2009 - 15:41 #9
så lukker jeg..

Men igen tak for hjælpen!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester