Avatar billede rasta123 Nybegynder
16. februar 2003 - 20:44 Der er 8 kommentarer og
2 løsninger

Opdeling af tekst!

Hej Alle..

Jeg har brug for et lille php-script, som til udgangspunkt har en tekst fra en mysql database...

Eks.:  bil, mand, barn, kvinde,  ...

Jeg kender desværre ikke rigtigt string funktionerne i php.. Men hvert ord er opdelt af et komma.. Jeg vil gerne have, at jeg kan liste dem lodret.. Evt. med et punktopstillings tegn eller sådan noget, så det bliver noget lignende:

*bil
*mand
*barn
*kvinde

Håber nogen kan hjælpe!

På forhånd tak!
Avatar billede speedy Nybegynder
16. februar 2003 - 20:49 #1
Du kan bruge funktionen explode() til at dele strengen op i et array. Eksempel:


$string = "bil, mand, barn, kvinde"

$liste = explode(",", $string);
for($i = 0; $i < count($liste); $i++){
  echo "*" . $liste[$i];
}

/SpEeDy
Avatar billede speedy Nybegynder
16. februar 2003 - 20:50 #2
Og så glemte jeg lige linieskift:)

$string = "bil, mand, barn, kvinde"

$liste = explode(",", $string);
for($i = 0; $i < count($liste); $i++){
  echo "*" . $liste[$i] . "<br>\n";
}


/SpEeDy
Avatar billede Slettet bruger
16. februar 2003 - 20:52 #3
$liste = 'bil, mand, barn, kvinde';
$arr = explode(",", $liste);
echo '<ul>';
while (list($key, $val) = each($arr)) {
echo '<li>' . $val;
}
echo '</ul>';
Avatar billede speedy Nybegynder
16. februar 2003 - 20:53 #4
Og så lige en sidste rettelse. jeg Trimmer lige for mellemrum i starten og slutningen af hver item:


<?
  $string = "bil, mand, barn, kvinde";

  $liste = explode(",", $string);
  for($i = 0; $i < count($liste); $i++){
    echo "*" . trim($liste[$i]) . "<br>\n";
  }
?>
Avatar billede rasta123 Nybegynder
16. februar 2003 - 21:15 #5
Mange tak!.. Det virker.. Bare lige et lille problem!.. Det sidste ord ender også med et komma.. Dvs. at der bliver skrevet en tom linie!. Det går ikke!.. Derfor vil jeg gerne have fjernet det sidste komma, før jeg exploder!..

En anden ting somhar lidt med det at gøre, er at jeg har et tal i min database! (dog i tekstformat, kan jeg dog ændre, hvis det har nogen betydning til et talformat!)

Dvs. at jeg f.eks. kan hente tallet 300000 ind i en variabel..

Det vil jeg så gerne have skrevet ud med dansk opdeling, altså  300.000

Der er helt sikkert en bestemt funktion for den am. opdeling, men det er jo med komma, så det går ikke.. Derfor skal det sikkert gøres manuelt??

Tak
Avatar billede speedy Nybegynder
16. februar 2003 - 21:19 #6
<?
  $string = "bil, mand, barn, kvinde";

  $liste = explode(",", $string);
  for($i = 0; $i < count($liste); $i++){
    $item = trim($liste[$i]);
    if ($item != ""){
      echo "*" . $item . "<br>\n";
    }
  }
?>



/SpEeDy
Avatar billede Slettet bruger
16. februar 2003 - 21:20 #7
Formattering af tal er nemt med PHP:

echo number_format($sum, 2, ',', '.');

Dette udskriver 300.000,00 hvis $sum er 300000

echo number_format($sum, 0, '', '.');

Dette udskriver 300.000 hvis $sum er 300000
Avatar billede speedy Nybegynder
16. februar 2003 - 21:21 #8
<?
  $tal = "300000";
  echo number_format($tal, 0, ",", ".");
?>
Avatar billede speedy Nybegynder
16. februar 2003 - 21:22 #9
ups, en tand for sent med det med tallene :D

/SpEeDy
Avatar billede rasta123 Nybegynder
16. februar 2003 - 21:30 #10
Mange tak for hjælpen begge to!
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