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

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Υπολογιστών Γλώσσες

Πώς να μετατρέψετε HTML σε κείμενο σε SQL

Μετατροπή HTML σε κείμενο στο SQL μπορεί να γίνει αποτελεσματικά με μια συνάρτηση οριζόμενη από το χρήστη . Μια συνάρτηση οριζόμενη από το χρήστη δέχεται παραμέτρους , εκτελεί μια ενέργεια , όπως parsing HTML , και επιστρέφει το αποτέλεσμα ως τιμή . Η λειτουργία μπορεί να εκτελεστεί από οποιαδήποτε δήλωση SQL ή εξωτερική γλώσσα προγραμματισμού . Τα πράγματα που θα χρειαστείτε Κατάλογος τίτλων γνώση της T - SQL
Επαρκείς δικαιώματα για να δημιουργήσετε ένα αντικείμενο βάσης δεδομένων λειτουργίας
Η Εμφάνιση Περισσότερες οδηγίες
Η

1 Συνδέστε στη βάση δεδομένων σας , και δημιουργήσετε ένα νέο αρχείο SQL 2

Πληκτρολογήστε την ακόλουθη SQL : . .

CREATE FUNCTION [ dbo ] [ CleanHTML ] Ξενοδοχεία

(

@ DirtyText varchar ( MAX )

)

ΕΠΙΣΤΡΕΦΕΙ varchar ( MAX )

AS

BEGIN

ΔΗΛΩΝΟΥΝ @ BeginPos int

ΔΗΛΩΝΟΥΝ @ EndPos int

ΔΗΛΩΝΟΥΝ @ Len int

- Αντικαταστήστε την οντότητα HTML και με το « & » χαρακτήρα ( αυτό πρέπει να γίνει πρώτα , όπως

- '&' θα μπορούσε να κωδικοποιηθεί ως διπλό '&' )

SET @ BeginPos = CHARINDEX ( '&' , @ DirtyText )

SET @ @ EndPos = BeginPos + 4

SET @ Len = ( @ EndPos - @ BeginPos ) + 1

ΕΝΩ ( @ BeginPos > 0 και @ EndPos > 0 και @ Len > 0 ) BEGIN

SET @ DirtyText = STUFF ( @ DirtyText , BeginPos @ @ Μήκος , '&' )

SET @ BeginPos = CHARINDEX ( '&' , @ DirtyText )

SET @ @ EndPos = BeginPos + 4

SET @ Len = ( @ EndPos - @ BeginPos ) + 1

END

- Αντικαταστήστε την οντότητα HTML <με το « <» χαρακτήρα

SET @ BeginPos = CHARINDEX ( '<' , @ DirtyText )

SET @ @ EndPos = BeginPos + 3

SET @ Len = ( @ EndPos - @ BeginPos ) + 1

ΕΝΩ ( @ BeginPos > 0 και @ EndPos > 0 και @ Len > 0 ) BEGIN

SET @ DirtyText = STUFF ( @ DirtyText , BeginPos @ @ Μήκος , '

SET @ BeginPos = CHARINDEX ( '<' , @ DirtyText )

SET @ @ EndPos = BeginPos + 3

SET @ Len = ( @ EndPos - @ BeginPos ) + 1

END

- Αντικαταστήστε την οντότητα HTML > με το χαρακτήρα '>'

SET @ BeginPos = CHARINDEX ( '>' @ DirtyText )

SET @ @ EndPos = BeginPos + 3

SET @ Len = ( @ EndPos - @ BeginPos ) + 1

ΕΝΩ ( @ BeginPos > 0 ΚΑΙ @ EndPos > 0 και @ Len > 0 ) BEGIN

SET @ DirtyText = STUFF ( @ DirtyText , BeginPos @ @ Μήκος , '>' )

SET @ BeginPos = CHARINDEX ( '>' , @ DirtyText )

SET @ @ EndPos = BeginPos + 3

SET @ Len = ( @ EndPos - @ BeginPos ) + 1

END

- Αντικαταστήστε την οντότητα HTML & με το « & » χαρακτήρα

SET @ BeginPos = CHARINDEX ( '&' , @ DirtyText )

SET @ @ EndPos = BeginPos + 4

SET @ Len = ( @ EndPos - @ BeginPos ) + 1

ΕΝΩ ( @ BeginPos > 0 και @ EndPos > 0 και @ Len > 0 ) BEGIN

SET @ DirtyText = STUFF ( @ DirtyText , BeginPos @ @ Μήκος , '&' )

SET @ BeginPos = CHARINDEX ( '&' , @ DirtyText )

SET @ EndPos = @ BeginPos + 4

SET @ Len = ( @ EndPos - @ BeginPos ) + 1

ΤΕΛΟΣ

- Αντικαταστήστε την οντότητα HTML με το χαρακτήρα ''

SET @ BeginPos = CHARINDEX ( '' , @ DirtyText )

SET @ @ EndPos = BeginPos + 5

SET @ Len = ( @ EndPos - @ BeginPos ) + 1

ΕΝΩ ( @ BeginPos > 0 και @ EndPos > 0 και @ Len > 0 ) BEGIN

SET @ DirtyText = STUFF ( @ DirtyText , BeginPos @ @ Μήκος » » )

SET @ BeginPos = CHARINDEX ( '' , @ DirtyText )

SET @ @ EndPos = BeginPos + 5

SET @ Len = ( @ EndPos - @ BeginPos ) + 1

END

- Αντικαταστήστε τις ετικέτες με αλλαγή γραμμής

SET @ BeginPos = CHARINDEX ( '' , @ DirtyText )

SET @ @ EndPos = BeginPos + 3

SET @ Len = ( @ EndPos - @ BeginPos ) + 1

ΕΝΩ ( @ BeginPos > 0 και @ EndPos > 0 και @ Len > 0 ) BEGIN

SET @ DirtyText = STUFF ( @ DirtyText , BeginPos @ @ Μήκος , CHAR ( 13 ) + CHAR ( 10 ) )

SET @ BeginPos = CHARINDEX ( '' , @ DirtyText )

SET @ @ EndPos = BeginPos + 3

SET @ Len = ( @ EndPos - @ BeginPos ) + 1

END

- Αντικαταστήστε τυχόν ετικέτες
με αλλαγή γραμμής

SET @ BeginPos = CHARINDEX ( «
» , @ DirtyText )

SET @ @ EndPos = BeginPos + 4

SET @ Len = ( @ EndPos - @ BeginPos ) + 1

ΕΝΩ ( @ BeginPos > 0 και @ EndPos > 0 και @ Len > 0 ) BEGIN

SET @ DirtyText = STUFF ( @ DirtyText , BeginPos @ @ Μήκος , « CHAR ( 13 ) + CHAR ( 10 ) ')

SET @ BeginPos = CHARINDEX ( «
» , @ DirtyText )

SET @ @ EndPos = BeginPos + 4

SET @ Len = ( @ EndPos - @ BeginPos ) + 1

END

- Αντικαταστήστε τυχόν ετικέτες />

SET @ BeginPos = CHARINDEX ( « />

SET @ @ EndPos = BeginPos + 5

SET @ Len = ( @ EndPos - @ BeginPos ) + 1

ΕΝΩ ( @ BeginPos > 0 και @ EndPos > 0 και @ Len > 0 ) BEGIN

SET @ DirtyText = STUFF ( @ DirtyText , BeginPos @ @ Μήκος , « CHAR ( 13 ) + CHAR ( 10 ) ')

SET @ BeginPos = CHARINDEX ( « />

SET @ @ EndPos = BeginPos + 5

SET @ Len = ( @ EndPos - @ BeginPos ) + 1

END

- Κατάργηση τίποτα μεταξύ ετικέτες

SET @ BeginPos = CHARINDEX ( '<' , @ DirtyText )

SET @ EndPos = CHARINDEX ( '>' , @ DirtyText , CHARINDEX ( '<' , @ DirtyText ) )

SET @ Len = ( @ EndPos - @ BeginPos ) + 1

ΕΝΩ ( @ BeginPos > 0 και @ EndPos > 0 και @ Len > ? 0 ) BEGIN

SET @ DirtyText = STUFF ( @ DirtyText , BeginPos @ @ Μήκος, '')

SET @ BeginPos = CHARINDEX ( '<' , @ DirtyText )

SET @ EndPos = CHARINDEX ( '>' , @ DirtyText , CHARINDEX ( '<' , @ DirtyText ) )

SET @ Len = ( @ EndPos - @ BeginPos ) + 1

ΤΕΛΟΣ

ΕΠΙΣΤΡΟΦΗΣ LTRIM ( RTRIM ( @ DirtyText ) )

ΤΕΛΟΣ
εικόνων 3

Συντάξτε τη λειτουργία SQL .

4

Εκτελέστε τη λειτουργία , και βεβαιωθείτε ότι επιστρέφει τα επιθυμητά αποτελέσματα . Για παράδειγμα :

Επιλέξτε από dbo.CleanHTML ( « test ' ) ?

Η

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

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