Avatar billede svelmoe Nybegynder
08. januar 2008 - 15:49 Der er 13 kommentarer og
1 løsning

ignorer alt efter # i en $var

Jeg har en variable ($type_ins). den indeholder f.eks

: Mads Andresen#7

#7 er unødvendig når den skal INSERT i databasen, og jeg så gerne det blev fjernet.

# er standard, og altid vil altid komme til sidst. dog lige før tallet. Tallet kan variere, men vil altid være et tal mellem 1 og 10.
Avatar billede j4k0b Nybegynder
08. januar 2008 - 16:05 #1
En funktion alá dette kunne gøre det (ikke testet):

function strip_nums($string) {
    $pos = strpos($string, '#');
    if($pos !== false) {
        $string = substr($string, 0, $pos);
    }
    return $string;
}

strip_nums(': Mads Andresen#7')  // : Mads Andresen
strip_nums(': Mads Andresen#')  // : Mads Andresen
strip_nums(': Mads Andresen')  // : Mads Andresen
Avatar billede nielle Nybegynder
08. januar 2008 - 18:30 #2
Alternativt:

function strip_nums($string) {
    return preg_replace("/#.*/", "", $tekst);
}
Avatar billede gammelhat Nybegynder
08. januar 2008 - 21:08 #3
eller:

function strip_nums($string) {
  return strtok($string, '#');
}
Avatar billede svelmoe Nybegynder
09. januar 2008 - 12:02 #4
Hej j4k0b, limitere din kode ikke indholdet af variablen til kun at være Mads Andresen? eller har jeg forstået den forkert?

indholdet af $type_ins er forskelligt.
Avatar billede nielle Nybegynder
09. januar 2008 - 12:54 #5
På vegne af j4k0b> Nej. Der er intet i koden for strip_nums() som referere til specifikt til værdien "Mads Andresen".

De tre lidste linjer kode i 08/01-2008 16:05:38 er bare eksempler på hvordan den kunne bruges. Selv om det måske havde været en smule mere pædagogisk at skrive det som:

$type_íns = ': Mads Andresen#7';
$type_íns = strip_nums($type_íns);
echo $type_ins;  // : Mads Andresen
Avatar billede svelmoe Nybegynder
10. januar 2008 - 08:15 #6
Og i din Nielle er $tekst = $type_ins?
Avatar billede nielle Nybegynder
10. januar 2008 - 08:23 #7
Min, eller gammelhat's, skal bruges på akkurat samme måde. Det er blot indholdet inde i funktionen som er ændret. Udefra opføre alle tre varianter på samme måde.
Avatar billede svelmoe Nybegynder
10. januar 2008 - 11:10 #8
if($type == ""){ $type_ins = $type2; } else { $type_ins = $type; }

function strip_nums($string) {
    return preg_replace("/#.*/", "", $type_ins);
}

hvad gør jeg forkert?
Avatar billede nielle Nybegynder
10. januar 2008 - 11:21 #9
Du kalder jo ikke funktionen strip_nums() noget sted i din kode:

$type_íns = strip_nums($type_íns);


- og så skal funktionen altså se sådan her ud:

function strip_nums($string) {
    return preg_replace("/#.*/", "", $string);
}
Avatar billede svelmoe Nybegynder
10. januar 2008 - 13:54 #10
super... tak

du må meget gerne lægge et svar, Nielle.
Avatar billede nielle Nybegynder
10. januar 2008 - 14:03 #11
Nu er j4k0b's og gammelhat's versioner altså lige så korrekte som min. Så skal vi ikek dele?

... svar :^)
Avatar billede svelmoe Nybegynder
10. januar 2008 - 14:07 #12
jo det kan vi sagtens.. jeg kiggede på brugte version og mest aktive hjælper :)

men vi venter lige og ser hvad der sker..
Avatar billede svelmoe Nybegynder
14. januar 2008 - 10:43 #13
sker ikke rigtig mere
Avatar billede nielle Nybegynder
14. januar 2008 - 18:55 #14
Takker for point :^)
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