Du kan oppnå linjeskift i utdataene dine når du henter data fra en MySQL -database ved å bruke PHP ved å håndtere de nye tegnene som er lagret i databasen nøye. Her er en oversikt over de vanlige tilnærmingene:
1. Viktigheten av `htmlspecialChars ()`:
* essensielt for sikkerhet: Før du viser data hentet fra en database, alltid Bruk `htmlSpecialChars ()`. Dette forhindrer potensielle XSS-sårbarheter. Den konverterer spesialtegn (som `<`, `>` og `&`) til HTML -enhetene deres, noe som gjør utdataene trygt for visning på en webside.
2. Håndteringslinjepauser:
* mysql og newlines: Mysql lagrer typisk nye linjer som `\ n` eller` \ r \ n`. Disse er usynlige for brukeren, men er det som gjør at teksten går i linjer.
* visning med `nl2br ()`: Funksjonen `nl2br ()` i PHP konverterer Newline -tegn (både `\ n` og` \ r \ n`) til `
`Tagger (linjeselier i HTML).
Eksempel:
`` php
Php
$ servername ="localhost";
$ brukernavn ="brukernavn";
$ passord ="passord";
$ dbname ="myDatabase";
// Opprett tilkobling
$ conn =new mysqli ($ servernavn, $ brukernavn, $ passord, $ dbname);
// Kontroller tilkobling
if ($ conn-> connect_error) {
die ("Forbindelse mislyktes:". $ conn-> connect_error);
}
$ SQL ="Velg innhold fra Mytable hvor ID =1";
$ resultat =$ conn-> spørring ($ sql);
if ($ resultat-> num_rows> 0) {
// utgangsdata for hver rad
mens ($ rad =$ resultat-> fetch_assoc ()) {
ekko "
". HTMLSpecialChars (NL2BR ($ ROW [" Content "]))."
";
}
} annet {
ekko "0 resultater";
}
$ conn-> close ();
?>
`` `
Forklaring:
1. Databaseforbindelse: Etabler en tilkobling til MySQL -databasen.
2. SQL -spørring: Henter data fra `innholds -kolonnen i` mytable` -tabellen.
3. Datainnhenting: Funksjonen `FETCH_ASSOC ()` Henter datarous for rad.
4. Sikkerhets- og linjepauser:
* `htmlSpecialChars ()`:Gjør utgangen trygt for visning.
* `nl2br ()`:konverterer nye linjer (`\ n`,` \ r \ n`) til `
`Tagger.
5. HTML -formatering: Utgangen er pakket inn i `
`Tagger for grunnleggende avsnittsformatering.
Nøkkelpunkter:
* Konsistens: Forsikre deg om at databasen din konsekvent lagrer Newline -tegn (f.eks. `\ N`).
* Alternative linjebrudd: Hvis dataene dine bruker en annen linjekonvensjon, må du justere `nl2br ()` -funksjonen deretter.
utover `nl2br ()`:
* html pre -tag: Bruk `
` tagger for å bevare formateringen (inkludert Whitespace) direkte. Dette er nyttig for kodebiter eller tekst med bevisste linjer.
* Tilpassede erstatninger: Hvis du trenger å endre Newline -tegn til noe annet, bruk `str_replace ()` for tilpassede erstatninger.
Gi meg beskjed hvis du har en spesifikk datakilde, databasestruktur eller andre utfordringer med å få linjer til å fungere. Jeg kan tilby skreddersydde løsninger.