第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

從sql server中的字符串中刪除html標(biāo)簽的最佳方法?

從sql server中的字符串中刪除html標(biāo)簽的最佳方法?

MMMHUHU 2019-07-31 18:34:56
從sql server中的字符串中刪除html標(biāo)簽的最佳方法?我在SQL Server 2005中有包含html標(biāo)簽的數(shù)據(jù),我想將所有內(nèi)容刪除,只留下標(biāo)簽之間的文本。理想的情況下也更換喜歡的東西&lt;帶<等有沒(méi)有一種簡(jiǎn)單的方法可以做到這一點(diǎn),或者有人已經(jīng)有一些示例t-sql代碼?我沒(méi)有能力添加擴(kuò)展存儲(chǔ)過(guò)程等,所以更喜歡純t-sql方法(最好是一個(gè)向后兼容sql 2000)。我只想用剝離的html檢索數(shù)據(jù),而不是更新它,所以理想情況下它會(huì)被寫(xiě)成用戶(hù)定義的函數(shù),以便于重用。所以例如轉(zhuǎn)換這個(gè):<B>Some useful text</B>&nbsp;<A onclick="return openInfo(this)"    href="http://there.com/3ce984e88d0531bac5349"    target=globalhelp>    <IMG title="Source Description" height=15 alt="Source Description"          src="/ri/new_info.gif" width=15 align=top border=0></A>&gt;&nbsp;<b>more text</b></TD></TR>對(duì)此:Some useful text > more text
查看完整描述

3 回答

?
qq_花開(kāi)花謝_0

TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊

有一個(gè)UDF將執(zhí)行此處描述的操作:

剝離HTML的用戶(hù)定義函數(shù)

CREATE FUNCTION [dbo].[udf_StripHTML] (@HTMLText VARCHAR(MAX))RETURNS VARCHAR(MAX) ASBEGIN
    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))ENDGO

編輯:請(qǐng)注意這是針對(duì)SQL Server 2005的,但是如果將關(guān)鍵字MAX更改為類(lèi)似4000,它也可以在SQL Server 2000中使用。


查看完整回答
反對(duì) 回復(fù) 2019-07-31
?
PIPIONE

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊

如果您的HTML格式正確,我認(rèn)為這是一個(gè)更好的解決方案:

create function dbo.StripHTML( @text varchar(max) ) returns varchar(max) asbegin
    declare @textXML xml
    declare @result varchar(max)
    set @textXML = REPLACE( @text, '&', '' );
    with doc(contents) as
    (
        select chunks.chunk.query('.') from @textXML.nodes('/') as chunks(chunk)
    )
    select @result = contents.value('.', 'varchar(max)') from doc    return @resultendgoselect dbo.StripHTML('This <i>is</i> an <b>html</b> test')


查看完整回答
反對(duì) 回復(fù) 2019-07-31
  • 3 回答
  • 0 關(guān)注
  • 1155 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)