Προγραμματισμός

Γνώση Υπολογιστών >> Προγραμματισμός >  >> PHP /MySQL Προγραμματισμός

Πώς μπορείτε να πάρετε τα διαλείμματα γραμμής για να λειτουργήσουν όταν ανακτάτε δεδομένα από το MySQL PHP;

Μπορείτε να επιτύχετε διαλείμματα γραμμής στην έξοδο σας κατά την ανάκτηση δεδομένων από μια βάση δεδομένων MySQL χρησιμοποιώντας PHP με προσεκτικά χειρισμό των χαρακτήρων Newline που αποθηκεύονται στη βάση δεδομένων. Ακολουθεί μια ανάλυση των κοινών προσεγγίσεων:

1. Η σημασία του `htmlSpecialChars ()`:

* απαραίτητο για την ασφάλεια: Πριν εμφανιστεί οποιαδήποτε δεδομένα που ανακτήθηκαν από μια βάση δεδομένων, πάντα Χρησιμοποιήστε το `htmlSpecialChars ()`. Αυτό εμποδίζει τα πιθανώς ευπάθειες XSS (διασταυρούμενου σεναρίου). Μετατρέπει ειδικούς χαρακτήρες (όπως `<`, `` `και` &`) στις οντότητες HTML, καθιστώντας την έξοδο ασφαλή για προβολή σε μια ιστοσελίδα.

2. Διαλείμματα γραμμής χειρισμού:

* mysql και newlines: Το MySQL αποθηκεύει τυπικά χαρακτήρες νέας γραμμής ως `\ n` ή` \ r \ n`. Αυτά είναι αόρατα για τον χρήστη, αλλά είναι αυτό που κάνουν το κείμενο να σπάσει σε γραμμές.

* Εμφάνιση με `nl2br ()`: Η συνάρτηση `nl2br ()` Σε php μετατρέπει τους χαρακτήρες newline (και οι δύο `\ n` και` \ r \ n`) σε `
`Ετικέτες (διαλείμματα γραμμής στο HTML).

Παράδειγμα:

`` `php

$ servername ="localHost";

$ username ="όνομα χρήστη";

$ password ="κωδικός πρόσβασης";

$ dbname ="myDatabase";

// Δημιουργία σύνδεσης

$ conn =νέο mysqli ($ servername, $ username, $ password, $ dbname);

// Ελέγξτε τη σύνδεση

αν ($ conn-> connect_error) {

die ("Η σύνδεση απέτυχε:" $ conn-> connect_error);

}

$ sql ="επιλέξτε Περιεχόμενο από το MyTable όπου id =1";

$ αποτέλεσμα =$ conn-> ερώτημα ($ SQL);

αν ($ αποτέλεσμα-> num_rows> 0) {

// Δεδομένα εξόδου κάθε σειράς

ενώ ($ row =$ αποτέλεσμα-> fetch_assoc ()) {

ηχώ "

". "?

}

} αλλιώς {

Echo "0 Αποτελέσματα";

}

$ conn-> close ();

>>

`` `

Επεξήγηση:

1. Σύνδεση βάσης δεδομένων: Δημιουργεί μια σύνδεση με τη βάση δεδομένων MySQL.

2. Ερώτηση SQL: Λέει δεδομένα από τη στήλη `Content 'του πίνακα' MyTable '.

3. Ανάκτηση δεδομένων: Η λειτουργία `fetch_assoc ()` ανακτά τη σειρά δεδομένων κατά σειρά.

4. Διάλειμμα ασφαλείας και γραμμής:

* `htmlSpecialChars ()`:κάνει την έξοδο ασφαλή για προβολή.

* `nl2br ()`:Μετατρέπει τους χαρακτήρες Newline (`\ n`,` \ r \ n`) σε `
`ετικέτες.

5. μορφοποίηση HTML: Η έξοδος είναι τυλιγμένη σε `

`Ετικέτες για βασική μορφοποίηση παραγράφων.

Βασικά σημεία:

* συνέπεια: Βεβαιωθείτε ότι η βάση δεδομένων σας αποθηκεύει σταθερά χαρακτήρες νέας γραμμής (π.χ. `\ n`).

* Εναλλακτικά διαλείμματα γραμμής: Εάν τα δεδομένα σας χρησιμοποιούν μια διαφορετική σύμβαση διάλειμμα γραμμής, προσαρμόστε ανάλογα τη λειτουργία `nl2br ().

Πέρα από το `nl2br ()`:

* html pre tag: Χρησιμοποιήστε άμεσα τις ετικέτες για τη διατήρηση της μορφοποίησης (συμπεριλαμβανομένου του Whitespace). Αυτό είναι χρήσιμο για αποσπάσματα κώδικα ή κείμενο με σκόπιμα διαλείμματα γραμμής.

* Προσαρμοσμένες αντικαταστάσεις: Εάν πρέπει να αλλάξετε τους χαρακτήρες της νέας γραμμής σε κάτι άλλο, χρησιμοποιήστε το `str_replace ()` για προσαρμοσμένες αντικαταστάσεις.

Επιτρέψτε μου να ξέρω αν έχετε μια συγκεκριμένη πηγή δεδομένων, δομή βάσης δεδομένων ή οποιεσδήποτε άλλες προκλήσεις για να πάρει τα σπάσιμο γραμμής για να λειτουργήσει. Μπορώ να προσφέρω προσαρμοσμένες λύσεις.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα