conversion HTML au texte SQL peut être fait efficacement avec une fonction définie par l'utilisateur . Une fonction définie par l'utilisateur accepte les paramètres , exécute une action, telle que l'analyse HTML et renvoie le résultat sous forme de valeur . La fonction peut être exécutée à partir de n'importe quelle instruction SQL ou langage de programmation externe. Choses que vous devez 
 Connaissance intermédiaire de T -SQL 
 permissions appropriées afin de créer une base de données objet fonction 
 Afficher plus Instructions 
 1 
 Connectez-vous à votre base de données, et . créer un nouveau fichier SQL 
 2 
 Entrez le SQL suivante : 
 
 CREATE FUNCTION [ dbo] [ CleanHTML ] 
 
 (produits 
 @ . DirtyText varchar ( MAX) 
 
 ) 
 
 RETURNS varchar ( MAX) 
 
 AS 
 
 BEGIN 
 
 DECLARE @ BeginPos int 
 
 DECLARE @ EndPos int 
 
 DECLARE @ Len int 
 
 - Remplacer l'entité HTML et avec le caractère '&' ( ce qui doit être fait en premier, comme 
 < p > - '&' pourrait être le double codé comme «&» ) 
 
 SET @ BeginPos = CHARINDEX ( '&' , @ DirtyText ) 
 
 SET @ = @ EndPos BeginPos + 4 < br > 
 SET @ Len = ( @ EndPos - @ BeginPos ) + 1 
 
 TOUT (@ BeginPos > 0 et @ EndPos > 0 et @ Len > 0) BEGIN 
 
 SET @ DirtyText = STUFF (@ DirtyText , @ BeginPos , @ Length , '&' ) 
 
 SET @ BeginPos = CHARINDEX ( '&' , @ DirtyText ) 
 
 SET @ = @ EndPos BeginPos + 4 
 
 SET @ Len = ( @ EndPos - @ BeginPos ) + 1 
 
 End of 
 - Remplacer l'entité HTML < par le caractère ' < ' < br > 
 SET @ BeginPos = CHARINDEX ( '<', @ DirtyText ) 
 
 SET @ = @ eNDPOS BeginPos + 3 
 
 SET @ len = (@ eNDPOS - @ BeginPos ) + 1 
 
 TOUT (@ BeginPos > 0 et @ EndPos > 0 et @ Len > 0) BEGIN 
 
 SET @ DirtyText = STUFF (@ DirtyText , @ BeginPos , @ Length , '< ; ') 
 
 SET @ BeginPos = CHARINDEX ( ' <', @ DirtyText ) 
 
 SET @ = @ eNDPOS BeginPos + 3 
 
 SET @ len = (@ endPos - @ BeginPos ) + 1 
 
 End of 
 - Remplacer l'entité HTML> avec le '>' caractère 
 
 SET @ BeginPos = CHARINDEX ( '>' , @ DirtyText ) 
 
 SET @ = @ EndPos BeginPos + 3 
 
 SET @ Len = ( @ EndPos - @ BeginPos ) + 1 
 
 TOUT (@ BeginPos > 0 ET @ EndPos > 0 et @ Len > 0) BEGIN 
 
 SET @ DirtyText = STUFF (@ DirtyText , @ BeginPos , @ Length , '>' ) 
 
 SET @ BeginPos = CHARINDEX ( '>' @ DirtyText ) 
 
 SET @ = @ eNDPOS BeginPos + 3 
 
 SET @ len = (@ eNDPOS - @ BeginPos ) + 1 
 
 END 
 
 - Remplacer l'entité HTML et avec le caractère '&' 
 
 SET @ BeginPos = CHARINDEX ( '&' , @ DirtyText ) 
 
 SET @ = @ EndPos BeginPos + 4 
 
 SET @ Len = ( @ EndPos - @ BeginPos ) + 1 
 
 TOUT (@ BeginPos > 0 et @ EndPos > 0 et @ Len > 0 ) commencent 
 < p> SET @ DirtyText = STUFF (@ DirtyText , @ BeginPos , @ Length , '&' ) 
 
 SET @ BeginPos = CHARINDEX ( '&' , @ DirtyText ) 
 
 SET @ EndPos = @ BeginPos + 4 
 
 SET @ Len = ( @ EndPos - @ BeginPos ) + 1 
 
 End of 
 - Remplacer l'entité HTML avec le caractère ' < br > 
 
 SET @ = @ eNDPOS BeginPos + 5 
 
 SET @ len = (@ eNDPOS - @ BeginPos ) + 1 
 
 TOUT (@ BeginPos > 0 et @ EndPos > 0 et @ Len > 0) BEGIN 
 
 SET @ DirtyText = STUFF (@ DirtyText , @ BeginPos , @ Length , ' ») 
 
 SET @ BeginPos = CHARINDEX ('' , @ DirtyText ) 
 
 SET @ = @ EndPos BeginPos + 5 
 
 SET @ Len = ( @ EndPos - @ BeginPos ) + 1 
 
 End of 
 - Remplacer les étiquettes avec un saut de ligne 
 
 SET @ BeginPos = CHARINDEX ('', @ DirtyText ) 
 
 SET @ = @ EndPos BeginPos + 3 
 
 SET @ Len = ( @ EndPos - @ BeginPos ) + 1 
 
 TOUT (@ BeginPos > 0 et @ EndPos > 0 et @ Len > 0) BEGIN 
 
 SET @ DirtyText = STUFF (@ DirtyText , @ BeginPos , @ Length , CHAR (13) + CHAR (10 ) ) 
 
 SET @ BeginPos = CHARINDEX ('', @ DirtyText ) 
 
 SET @ = @ EndPos BeginPos + 3 
 
 SET @ Len = ( @ EndPos - @ BeginPos ) + 1 
 
 End of 
 - Remplacez tout 
 balises avec un saut de ligne 
 
 SET @ BeginPos = CHARINDEX (' 
 ', @ DirtyText ) 
 
 SET @ = @ EndPos BeginPos + 4 Photos 
 SET @ Len = ( @ EndPos - @ BeginPos ) + 1 
 
 TOUT (@ BeginPos > 0 et @ EndPos > 0 et @ Len > 0) BEGIN 
 < p > SET @ DirtyText = STUFF (@ DirtyText , @ BeginPos , @ Length , ' CHAR ( 13) + CHAR (10 )') 
 
 SET @ BeginPos = CHARINDEX (' 
 ', @ DirtyText ) 
 
 SET @ = @ EndPos BeginPos + 4 
 
 SET @ Len = ( @ EndPos - @ BeginPos ) + 1 
 
 End of 
 - Remplacez les balises 
 avec un saut de ligne 
 
 SET @ BeginPos = CHARINDEX ( '
 ', @ DirtyText ) 
 
 SET @ = @ eNDPOS BeginPos + 5 Photos 
 SET @ Len = ( @ EndPos - @ BeginPos ) + 1 
 
 TOUT (@ BeginPos > 0 et @ EndPos > 0 et @ Len > 0) BEGIN 
 < p > SET @ DirtyText = STUFF (@ DirtyText , @ BeginPos , @ Length , ' CHAR ( 13) + CHAR (10 )') 
 
 SET @ BeginPos = CHARINDEX ( '
 ', @ DirtyText ) 
 
 SET @ = @ EndPos BeginPos + 5 
 
 SET @ Len = ( @ EndPos - @ BeginPos ) + 1 
 
 End of 
 - Retirez tout entre les balises  
  SET @ BeginPos = CHARINDEX ( '<', @ DirtyText ) 
 
 SET @ EndPos = CHARINDEX ( '>' , @ DirtyText , CHARINDEX ( '<', @ DirtyText ) ) 
 
 SET @ Len = ( @ EndPos - @ BeginPos ) + 1 
 
 TOUT (@ BeginPos > 0 et @ EndPos > 0 et @ Len > ; 0) BEGIN 
 
 SET @ DirtyText = STUFF (@ DirtyText , @ BeginPos , @ Length ,'') 
 
 SET @ BeginPos = CHARINDEX ( '<', @ DirtyText ) < br > 
 SET @ EndPos = CHARINDEX ( '>' , @ DirtyText , CHARINDEX ( '<', @ DirtyText ) ) 
 
 SET @ Len = ( @ EndPos - @ BeginPos ) + 1 < br > 
 End of 
 RETOUR LTRIM ( RTRIM (@ DirtyText ) ) 
 
 FIN 
 3 
 Compiler la fonction SQL. 
 < br > 4 
 exécuter la fonction , et vérifiez qu'il renvoie les résultats souhaités. Par exemple: 
 
 Choisissez parmi dbo.CleanHTML ('  essai 
  ');