Comment convertir html au texte dans sql

Convertir HTML en texte dans SQL

Conversion HTML au texte dans SQL peut être fait efficacement avec une fonction définie par l`utilisateur. Une fonction définie par l`utilisateur accepte les paramètres, effectue une action, telle que l`analyse HTML, et renvoie le résultat comme une valeur. La fonction peut être exécutée de toute instruction SQL ou langage de programmation externe.

Choses que vous devez

  • Connaissance intermédiaire de T-SQL
  • permissions adéquates pour créer un objet de base de données de fonction
  • Connectez-vous à votre base de données, et de créer un nouveau fichier SQL.

  • Entrez l`instruction SQL suivante:

    CREATE FUNCTION [dbo]. [CleanHTML]

    (

    @DirtyText Varchar (MAX)

    )

    RETOURS varchar (MAX)

    COMME

    COMMENCER

    DECLARE @BeginPos int

    DECLARE @EndPos int

    DECLARE @Len int

    -- Remplacer l`entité HTML & avec le `&«Caractère (ce qui doit être fait en premier lieu, comme

    -- `&»Pourrait être à double codé comme `&`)

    @BeginPos SET = CHARINDEX ( `&»@DirtyText)

    @EndPos SET = @BeginPos + 4

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

    While (@BeginPos gt; 0 ET @EndPos gt; 0 ET @Lengt; 0) BEGIN

    SET @DirtyText = STUFF (@DirtyText, @BeginPos, @Length, `&`)

    @BeginPos SET = CHARINDEX ( `&»@DirtyText)

    @EndPos SET = @BeginPos + 4

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

    FIN

    -- Remplacer l`entité HTML lt; avec le `lt;` personnage

    SET @BeginPos = CHARINDEX ( `lt;`, @DirtyText)

    @EndPos SET = @BeginPos + 3

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

    While (@BeginPos gt; 0 ET @EndPos gt; 0 ET @Lengt; 0) BEGIN

    SET @DirtyText = STUFF (@DirtyText, @BeginPos, @Length, `lt;`)

    SET @BeginPos = CHARINDEX ( `lt;`, @DirtyText)

    @EndPos SET = @BeginPos + 3

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

    FIN

    -- Remplacer l`entité HTML gt; avec le `gt;` personnage

    SET @BeginPos = CHARINDEX ( `gt;`, @DirtyText)




    @EndPos SET = @BeginPos + 3

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

    While (@BeginPos gt; 0 ET @EndPos gt; 0 ET @Lengt; 0) BEGIN

    SET @DirtyText = STUFF (@DirtyText, @BeginPos, @Length, `gt;`)

    SET @BeginPos = CHARINDEX ( `gt;`, @DirtyText)

    @EndPos SET = @BeginPos + 3

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

    FIN

    -- Remplacer l`entité HTML & avec le `&` personnage

    @BeginPos SET = CHARINDEX ( `&»@DirtyText)

    @EndPos SET = @BeginPos + 4

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

    While (@BeginPos gt; 0 ET @EndPos gt; 0 ET @Lengt; 0) BEGIN

    SET @DirtyText = STUFF (@DirtyText, @BeginPos, @Length, `&`)

    @BeginPos SET = CHARINDEX ( `&»@DirtyText)

    @EndPos SET = @BeginPos + 4

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

    FIN

    -- Remplacer l`entité HTML avec le caractère ``

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

    @EndPos SET = @BeginPos + 5

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

    While (@BeginPos gt; 0 ET @EndPos gt; 0 ET @Lengt; 0) BEGIN

    SET @DirtyText = STUFF (@DirtyText, @BeginPos, @Length, ``)

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

    @EndPos SET = @BeginPos + 5

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

    FIN

    -- Remplacer toutes les balises avec un saut de ligne

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

    @EndPos SET = @BeginPos + 3

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

    While (@BeginPos gt; 0 ET @EndPos gt; 0 ET @Lengt; 0) BEGIN

    SET @DirtyText = STUFF (@DirtyText, @BeginPos, @Length, CHAR (13) + CHAR (10))

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

    @EndPos SET = @BeginPos + 3

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

    FIN

    -- Remplacer tout
    tags avec un saut de ligne

    @BeginPos SET = CHARINDEX ( `
    »@DirtyText)

    @EndPos SET = @BeginPos + 4

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

    While (@BeginPos gt; 0 ET @EndPos gt; 0 ET @Lengt; 0) BEGIN

    SET @DirtyText = STUFF (@DirtyText, @BeginPos, @Length, CHAR (13) + CHAR (10) `)

    @BeginPos SET = CHARINDEX ( `
    »@DirtyText)

    @EndPos SET = @BeginPos + 4

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

    FIN

    -- Remplacer tout
    tags avec un saut de ligne

    @BeginPos SET = CHARINDEX ( `
    »@DirtyText)

    @EndPos SET = @BeginPos + 5

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

    While (@BeginPos gt; 0 ET @EndPos gt; 0 ET @Lengt; 0) BEGIN

    SET @DirtyText = STUFF (@DirtyText, @BeginPos, @Length, CHAR (13) + CHAR (10) `)

    @BeginPos SET = CHARINDEX ( `
    »@DirtyText)

    @EndPos SET = @BeginPos + 5

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

    FIN

    -- Retirez tout entre Mots clés

    SET @BeginPos = CHARINDEX ( `lt;`, @DirtyText)

    SET @EndPos = CHARINDEX ( `gt;`, @DirtyText, CHARINDEX ( `lt;`, @DirtyText))

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

    While (@BeginPos gt; 0 ET @EndPos gt; 0 ET @Lengt; 0) BEGIN

    SET @DirtyText = STUFF (@DirtyText, @BeginPos, @Length, ``)

    SET @BeginPos = CHARINDEX ( `lt;`, @DirtyText)

    SET @EndPos = CHARINDEX ( `gt;`, @DirtyText, CHARINDEX ( `lt;`, @DirtyText))

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

    FIN

    RETURN LTRIM (RTRIM (@DirtyText))

    FIN

  • Compiler la fonction SQL.

  • Exécutez la fonction, et vérifiez qu`il renvoie les résultats souhaités. Par exemple:

    Choisissez parmi dbo.CleanHTML ( `tester`);

AUTRES

Sql tutoriel de chaîne фото

Sql tutoriel de chaîne

Microsoft SQL Server est un système de gestion de base de données de niveau de l`entreprise. bases de données SQL…