Avatar billede henrik6666 Nybegynder
23. januar 2007 - 19:53 Der er 13 kommentarer og
1 løsning

Linieskift samt <li>

Jeg har en text som skrives i et textarea og som puttes i en mysql db. Denne tekst udtrækkes og laver linieskift vha :

$string = nl2br($row[tekst]);
echo $string

..men hvordan indfører jeg <li></li> ved hvert linieskift ?
Avatar billede windcape Praktikant
23. januar 2007 - 19:55 #1
altså, nl2br() laver dine linjeskift om til <br/>, men du mener at du vil have hver linje i en <li>text her</li> blok ?
Avatar billede windcape Praktikant
23. januar 2007 - 20:05 #2
hvis da, så skal du bruge noget lign:

preg_replace("|^(.*?)$","<li>//1</li>",$string)

istedet for din nl2br()
Avatar billede windcape Praktikant
23. januar 2007 - 20:05 #3
typo ;)

preg_replace("|^(.*?)$|","<li>//1</li>",$string);
Avatar billede henrik6666 Nybegynder
23. januar 2007 - 20:18 #4
Okay - prøver lige og smid lige et svar imellemtiden :o)
Avatar billede windcape Praktikant
23. januar 2007 - 20:20 #5
rettelse mere:

preg_replace("|^(.*?)$|m","<li>//1</li>",$string);

uden m-flag ville den kun understøtte en linje.
Avatar billede henrik6666 Nybegynder
23. januar 2007 - 20:24 #6
Okay men jeg får ikke "bollerne" frem !
Avatar billede windcape Praktikant
23. januar 2007 - 20:26 #7
vel fordi du ikke har sat <ul> og </ul> omkring scriptet :p

check din html.
Avatar billede henrik6666 Nybegynder
23. januar 2007 - 20:31 #8
Jeps - det stod før i db

Men jeg skal vel udskrive sådan her : <ul><li><?php echo "$string"; ?></ul> og så laver $string selv </li><li> ??
Avatar billede henrik6666 Nybegynder
23. januar 2007 - 20:33 #9
Nå nu fik jeg da en prik frem :o)
Avatar billede windcape Praktikant
23. januar 2007 - 20:34 #10
a) echo "$string" er forkert, hvem har bildt dig ind at du skal bruge " " uden omkring variable? ham som har gjort det er ihvertfald et fjols.

b) str_replace("\n","</li><li>",$string) kan du også godt bruge, men vil ikke men det er særlig klogt, da hvis dine data ændre sig kan det give uventede resultater.

husk ihvertfald at bruge trim() hvis du ønsker at bruge str_replace.
Avatar billede henrik6666 Nybegynder
23. januar 2007 - 20:58 #11
Nedenstående funker ikke helt for mig - ingen prikker :
<?php
$string = nl2br($row[tekst]);
preg_replace("|^(.*?)$|m","<li>//1</li>",$string);
?>
.
.
<ul><?php echo $string; ?></ul>

Her kommer der en prik i starten :

<?php
$string = nl2br($row[tekst]);
preg_replace("|^(.*?)$|m","<li>//1</li>",$string);
?>
.
.
<ul><li><?php echo $string; ?></li></ul>


Her sker heller ikke noget :

<?php
$string = nl2br($row[tekst]);
str_replace("\n","</li><li>",$string);
?>

<ul><?php echo $string; ?></ul>
Avatar billede windcape Praktikant
23. januar 2007 - 21:43 #12
hvordan ser dit html output ud ?
Avatar billede henrik6666 Nybegynder
24. januar 2007 - 17:27 #13
Jeg tænkte på at hvis dine koder virker kan du så ikke vise dem istedetfor ?
Avatar billede henrik6666 Nybegynder
11. februar 2007 - 18:56 #14
Tak for hjælpen .. jeg havde dog håbet på et eksempel hvor jeg kunne lure koderne af ;-)
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