27. juni 2003 - 09:07
Der er
37 kommentarer og 2 løsninger
Udskriv nøjagtigt som det blev angivet i en form
Hej. Jeg vil gerne vide, hvilke metoder jeg kan bruge til, at få udskrevet mine brugeres input, på nøjagtig den måde, de har skrevet det på. Dvs. med mellemrum, HTML (koden må IKKE fortolkes) mm. Skal jeg virkelig hen, og lave et "filter", som replacer en masse ting ? Jeg har tænkt på at bruge <pre>, og så sætte en class på hvis det kan lade sig gøre. Men jeg venter lige, og ser hvad I har af forslag.
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Du skal lave 3 ting: htmlentities, nl2br, samt erstatte mellemrum med
print str_replace(' ',' ',nl2br(htmlentities($tekst)));
Med mellemrum mente jeg <br> - sådan et :)
Men den anden er nok også god at have med :)
htmlentities - sørger den for, at koden ikke bliver afviklet ? Hvad er nl2br ?
NewLine2Break - den laver linie skift i formularen om til <br>
Og htmlenties laver fx < om til > - ja ingen html
Ok, kanon. Vil jeg straks prøve :)
(Suk, det er for tídligt på dagen - tag jer ikke af hvad jeg skriver, men hvad jeg mener ... *g*)
27. juni 2003 - 09:53
#10
ErikJacobsen : Will do, hehe :-)
27. juni 2003 - 09:56
#11
Jo, det virker næsten. Men sjovt nok, placeres teksten uden for mine tabeller. Mærkeligt.
27. juni 2003 - 09:56
#12
echo "<td width=500 height=150 valign=top><div class=b2><b>Beskrivelse</b>: " . print str_replace(' ',' ',nl2br(htmlentities($res["besk"]))) . "</div></td>";
27. juni 2003 - 09:57
#13
Så har du sikkert glemt en <tr> ... </tr>
27. juni 2003 - 09:57
#14
Fjernede print :)
27. juni 2003 - 09:58
#15
Virker jo dumt med 2 echo-funktioner :-) Så det virker nu :) Smid et svar.
27. juni 2003 - 09:58
#16
Næh hov (tidligt...): echo "<td width=500 height=150 valign=top><div class=b2><b>Beskrivelse</b>: " . str_replace(' ',' ',nl2br(htmlentities($res["besk"]))) . "</div></td>";
27. juni 2003 - 09:58
#17
ok da
27. juni 2003 - 09:59
#18
Hov, linieskift virker faktisk ikke.
27. juni 2003 - 10:04
#19
Ikke?
27. juni 2003 - 10:06
#20
Nope. Er helt sikker. Mellemrum erstattes fint. Og HTML koden vises også. Men <br>-funktionen virker ikke.
27. juni 2003 - 10:07
#21
Du kan jo se koden et par indlæg ovenfor. Den eneste ændring jeg har lavet, er at fjerne print.
27. juni 2003 - 10:10
#22
Har du et link
27. juni 2003 - 10:13
#23
Sidder og tester lokalt på min laptop :) Det er nemlig hemli hemli det jeg laver :) Men du kan da få en større stump kode : echo "<table align=center width=500 cellspacing=0 cellpadding=5 style=\"border-left: 1px solid #000000; border-right: 1px solid #000000; border-bottom: 1px solid #000000\">"; echo "<tr>"; echo "<td width=500 height=150 valign=top><div class=b2><b>Beskrivelse</b>: " . str_replace(' ',' ',nl2br(htmlentities($res["besk"]))) . "</div></td>"; echo "</tr></table>"; Sådan ser tabellen ud. Fx. skrev jeg i min form : test test test ----- I min database står det korrekt. Men på mit website bliver det udskrevet sådan: test test test (altså med et normalt mellemrum i stedet)
27. juni 2003 - 10:17
#24
Hvis jeg viser "source", så ser det sådan ud : <br /> test<br /> <br /> <br /> test<br /> <br /> <br /> <br /> <br /> test
27. juni 2003 - 10:48
#25
Ligner jo ikke en helt alm. <br>
27. juni 2003 - 11:03
#26
Jeg tror det skyldes, at mellemrum erstattes af Og da jeg egentlig ikke har specielt brug for den funktion, vil jeg bare fjerne den. Men str_replace(nl2br(htmlentities($res["besk"]))) fungere ikke
27. juni 2003 - 11:08
#27
Nå ja. Men så er det jo bare fordi du skal lave str_replacen før du laver htmlentities. Det havde jeg jo lige glemt
27. juni 2003 - 11:10
#28
JA, det er fordi nl2br laver xhtml <br> - altså <br /> Prøv i stedet: str_replace(array(' ', "\n"), array(' ', '<br>'), htmlentities($tekst));
27. juni 2003 - 11:11
#29
Eller blot i en anden rækkefølge: nl2br(str_replace(' ', ' ', htmlentities($tekst)));
27. juni 2003 - 11:12
#30
Ups, havde ikke lige set din kommentar (11:08:27), Erik...
27. juni 2003 - 11:12
#31
Faktisk: nl2br(htmlentities(str_replace(' ', ' ',$tekst)));
27. juni 2003 - 11:12
#32
Hmm, ja det er også en mulighed
27. juni 2003 - 11:13
#33
Nej, ups, min dur ikke. Først htmlentities, så str_replace, og så nl2br. Du har jo ret, mr_noname.
27. juni 2003 - 11:14
#34
Nåh ja, ellers laver den vel om til &nbsp; ... osv.
27. juni 2003 - 11:31
#35
Jeg har brugt mr_noname's mulighed : str_replace(array(' ', "\n"), array(' ', '<br>'), htmlentities($tekst)); Den virker rigtig godt :)
27. juni 2003 - 11:33
#36
En sidste, sidste ting (har afsat 10 points mere siden start) : Hvordan fjerne jeg funktionen med, at erstatte mellemrum med Jeg prøvede at fjerne arrayet, men det gav fejl.
27. juni 2003 - 11:35
#37
nl2br(htmlentities($tekst));
27. juni 2003 - 11:40
#38
EJ > Yep, det var løsninge. Tak begge to :) Mr. NoName > Smider du et svar ? Så deler i points :-)
27. juni 2003 - 13:13
#39
Ja, det gør jeg da...
Vi tilbyder markedets bedste kurser inden for webudvikling