Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Pripojte sa k databáze , a vytvoriť nový SQL súbor
2
Zadajte nasledujúci SQL : ..
CREATE FUNCTION [ DBO ] [ CleanHTML ]
(
@ DirtyText varchar ( mAX )
)
VRACIA varchar ( max)
BEGIN
DECLARE @ BeginPos int
DECLARE @ endpos int
DECLARE @ Ľan int
- Vymeňte subjekt HTML & s " a " charakter ( to je potrebné urobiť ako prvé , ako
- ' & ' môže byť dvojaký kódované ako " & " )
SET @ BeginPos = CHARINDEX ( ' a ' , @ DirtyText )
SET @ endpos = @ BeginPos + 4
SET @ Ľan = ( @ endpos - @ BeginPos ) + 1
WHILE ( @ BeginPos > 0 AND @ endpos > 0 AND @ Ľan > 0 ) BEGIN klipart
SET @ DirtyText = STUFF ( @ DirtyText , @ BeginPos , @ Length , ' a ' )
SET @ BeginPos = CHARINDEX ( ' a ' , @ DirtyText )
SET @ endpos = @ BeginPos + 4
SET @ Ľan = ( @ endpos - @ BeginPos ) + 1
END
- Vymeňte HTML entity < s ' < ' znak
SET @ BeginPos = CHARINDEX ( ' < ' , @ DirtyText )
SET @ endpos = @ BeginPos + 3
SET @ Ľan = ( @ endpos - @ BeginPos ) + 1
WHILE ( @ BeginPos > 0 AND @ endpos > 0 AND @ Ľan > 0 ) BEGIN
SET @ DirtyText = STUFF ( @ DirtyText , @ BeginPos , @ Length , " < ; " )
sET @ BeginPos = CHARINDEX ( ' < ' , @ DirtyText )
set @ endpos = @ BeginPos + 3
sET @ Ľan = ( @ endpos - @ BeginPos ) + 1
END
- Vymeňte subjekt HTML > s ' > ' charakteru
SET @ BeginPos = CHARINDEX ( ' > ' , @ DirtyText )
set @ endpos = @ BeginPos + 3
sET @ Ľan = ( @ endpos - @ BeginPos ) + 1
WHILE ( @ BeginPos > 0 A @ endpos > 0 AND @ Ľan > 0 ) BEGIN
SET @ DirtyText = STUFF ( @ DirtyText , @ BeginPos , @ Length , ' > ' )
SET @ BeginPos = CHARINDEX ( ' > ' , @ DirtyText )
set @ endpos = @ BeginPos + 3
sET @ Ľan = ( @ endpos - @ BeginPos ) + 1
END
- Vymeňte HTML entity & s ' a ' znakovej
SET @ BeginPos = CHARINDEX ( ' a ' , @ DirtyText )
SET @ endpos = @ BeginPos + 4
SET @ Ľan = ( @ endpos - @ BeginPos ) + 1
WHILE ( @ BeginPos > 0 A @ endpos > 0 AND @ Ľan > 0 ) BEGIN
SET @ DirtyText = STUFF ( @ DirtyText , @ BeginPos , @ Length , ' a ' )
SET @ BeginPos = CHARINDEX ( ' a ' , @ DirtyText )
SET @ endpos = @ BeginPos + 4
SET @ Ľan = ( @ endpos - @ BeginPos ) + 1
END
- Vymeňte HTML entity s " " znak
sET @ BeginPos = CHARINDEX ( '' , @ DirtyText )
set @ endpos = @ BeginPos + 5
sET @ Ľan = ( @ endpos - @ BeginPos ) + 1
WHILE ( @ BeginPos > 0 AND @ endpos > 0 AND @ Ľan > 0 ) BEGIN
SET @ DirtyText = STUFF ( @ DirtyText , @ BeginPos , @ Length , " ' )
SET @ BeginPos = CHARINDEX ( ' ' , @ DirtyText )
SET @ endpos = @ BeginPos + 5
SET @ Ľan = ( @ endpos - @ BeginPos ) + 1
END
- Vymeňte všetky tagy sa znakom nového riadku
SET @ BeginPos = CHARINDEX ( '' , @ DirtyText )
SET @ endpos = @ BeginPos + 3
SET @ Ľan = ( @ endpos - @ BeginPos ) + 1
while ( @ BeginPos > 0 AND @ endpos > 0 AND @ Ľan > 0 ) BEGIN
SET @ DirtyText = STUFF ( @ DirtyText , @ BeginPos , @ Length , CHAR ( 13 ) + CHAR ( 10 ) )
SET @ BeginPos = CHARINDEX ( '' , @ DirtyText )
set @ endpos = @ BeginPos + 3
sET @ Ľan = ( @ endpos - @ BeginPos ) + 1
END
- vymeňte
tagy s nového riadku
SET @ BeginPos = CHARINDEX ( '
' , @ DirtyText )
SET @ endpos = @ BeginPos + 4
SET @ Ľan = ( @ endpos - @ BeginPos ) + 1
WHILE ( @ BeginPos > 0 A @ endpos > 0 AND @ Ľan > 0 ) BEGIN
SET @ DirtyText = STUFF ( @ DirtyText , @ BeginPos , @ Length , " CHAR ( 13 ) + CHAR ( 10 ) ' )
SET @ BeginPos = CHARINDEX ( ' br ' , @ DirtyText )
set @ endpos = @ BeginPos + 4
sET @ Ľan = ( @ endpos - @ BeginPos ) + 1
END
- vymeňte
vyhľadávacie nový riadok
SET @ BeginPos = CHARINDEX ( '
' , @ DirtyText )
SET @ endpos = @ BeginPos + 5
SET @ Ľan = ( @ endpos - @ BeginPos ) + 1
WHILE ( @ BeginPos > 0 A @ endpos > 0 AND @ Ľan > 0 ) BEGIN
SET @ DirtyText = STUFF ( @ DirtyText , @ BeginPos , @ Length , " CHAR ( 13 ) + CHAR ( 10 ) ' )
SET @ BeginPos = CHARINDEX ( '
' , @ DirtyText )
set @ endpos = @ BeginPos + 5
sET @ Ľan = ( @ endpos - @ BeginPos ) + 1
END
- odstráňte všetko medzi SET @ BeginPos = CHARINDEX ( ' < ' , @ DirtyText ) SET @ endpos = CHARINDEX ( ' > ' , @ DirtyText , CHARINDEX ( ' < ' , @ DirtyText ) ) SET @ Ľan = ( @ endpos - @ BeginPos ) + 1 while ( @ BeginPos > 0 AND @ endpos > 0 AND @ Ľan > ; 0 ) BEGIN SET @ DirtyText = STUFF ( @ DirtyText , @ BeginPos , @ Length , '' ) SET @ BeginPos = CHARINDEX ( ' < ' , @ DirtyText ) SET @ endpos = CHARINDEX ( ' > ' , @ DirtyText , CHARINDEX ( ' < ' , @ DirtyText ) ) SET @ Ľan = ( @ endpos - @ BeginPos ) + 1 END RETURN LTrim ( RTrim ( @ DirtyText ) ) END Kompilácia funkciu SQL . spustite funkciu , a overte , že vracia požadované výsledky . Napríklad : Vyberte si z dbo.CleanHTML ( "
3
4