有的,這已經有人寫好了。
我參考了 Pinal Dave 的文章,把它主要的關鍵語法擷取下來:
CREATE FUNCTION [dbo].[clearTag] ( -- Add the parameters for the function here @HTMLText VARCHAR(MAX) ) RETURNS VARCHAR(MAX) AS BEGIN DECLARE @Start INT DECLARE @End INT DECLARE @Length INT SET @Start = CHARINDEX('<',@HTMLText) SET @End = CHARINDEX('>',@HTMLText,CHARINDEX('<',@HTMLText)) SET @Length = (@End - @Start) + 1 WHILE @Start > 0 AND @End > 0 AND @Length > 0 BEGIN SET @HTMLText = STUFF(@HTMLText,@Start,@Length,'') SET @Start = CHARINDEX('<',@HTMLText) SET @End = CHARINDEX('>',@HTMLText,CHARINDEX('<',@HTMLText)) SET @Length = (@End - @Start) + 1 END RETURN LTRIM(RTRIM(@HTMLText)) END
主要是在資料庫裡新增一個函數( function),把那些雜亂的內容當作參數傳進這個函數,回傳值則是我們想要的乾淨內容。
而使用方式,則是
select [dbo].[自訂函數名稱]('xxxx html tag')
參考資料:
01.Defined Function to Strip HTML – Parse HTML – No Regular Expression