02. marts 2006 - 16:17
Der er
7 kommentarer og 1 løsning
str_replace erstatter ikke
jeg har et problem med at følgende funktion ikke virker helt efter planen: $tekst = str_replace( " ", "<br>", $tekst); problemet er at den istedet for at erstatte linieskift med <br> bare tilføjer <br> efterlinieskift... altså det her: hej med dig bliver til: hej <br>med dig Hvor det burde blive til: hej<br>med dig hvis det betyder noget bliver strengen også udsat for en addslashes inden den smides ind i min db
Annonceindlæg fra Computerworld
02. marts 2006 - 16:20
#1
$tekst = str_replace( "\n", "<br>", $tekst); men hvorfor ikke bruge $tekst = nl2br( $tekst ); print "" . $tekst; ?
02. marts 2006 - 16:22
#2
nl2br fjerner ikke linjeskift - den tilføjer også kun <br>. Prøv med at erstatte både \r og \n: $tekst = str_replace(array("\n","\r"), "<br>", $tekst); :)
02. marts 2006 - 16:25
#3
*doh* ja, tænkte mig ikke lige om, hæhæ..
02. marts 2006 - 16:28
#4
jo bakkelund, der var den :P men hvad står \r for? men smid et svar
02. marts 2006 - 16:37
#5
\r er carriage return, \n er newline. Windows bruger kombinationen \r\n, når man laver et linjeskift. :)
02. marts 2006 - 16:38
#6
ok det vidste jeg ikke men takker
02. marts 2006 - 16:40
#7
Tak tak :)
05. marts 2006 - 13:11
#8
fandt lige en lille fejl $tekst = str_replace(array("\n","\r"), "<br>", $tekst); skal erstattes med $tekst = str_replace(array("\r\n"), "<br>", $tekst); ellers komer der to linieskift :P
Vi tilbyder markedets bedste kurser inden for webudvikling