数据库Content字段中保存了图片和文字
取得时候能只取文字
把图片过滤掉吗?
图片格式:<img width="521" height="178" alt="" src="/UploadFiles/image/ss.jpg" />

解决方案 »

  1.   


    --提取中文  
    IF OBJECT_ID('DBO.CHINA_STR') IS NOT NULL  
    DROP FUNCTION DBO.CHINA_STR  
    GO  
    CREATE FUNCTION DBO.CHINA_STR(@S NVARCHAR(100))  
    RETURNS VARCHAR(100)  
    AS  
    BEGIN  
    WHILE PATINDEX('%[^吖-座]%',@S) > 0  
    SET @S = STUFF(@S,PATINDEX('%[^吖-座]%',@S),1,N'')  
    RETURN @S  
    END  
    GO  
    PRINT DBO.CHINA_STR('呵呵ABC123ABC')  
    GO  /*
    呵呵
      

  2.   

    最好:分成两个字段,当然需要在保存前用程序分开,然后保存。如果,已经没法分了,建议写个clr函数来处理,好像用个正则表达式就可以去掉
      

  3.   


    declare @str varchar(100)='<img width="521" height="178" alt="" src="/UploadFiles/image/ss.jpg" />'select substring(@str,charindex('src="',@str)+5,charindex('.jpg"',@str)-charindex('src="',@str)-1)/*-------------------------
    /UploadFiles/image/ss.jpg
      

  4.   


    declare @str varchar(100)='<img width="521" height="178" alt="" src="/UploadFiles/image/ss.jpg" />'select STUFF(@str,charindex('src="',@str),charindex('.jpg"',@str)-charindex('src="',@str)+5,'')/*----------------------------------------
    <img width="521" height="178" alt=""  />
      

  5.   

    嗯、说的不太明白数据库字段Content里保存了
    文字文字文字文字文字<img width="521" height="178" alt="" src="/UploadFiles/image/ss.jpg" />文字文字文字文字文字文字文字文字文字也就是图片两边都有文字、也只取出文字就行不要图片
      

  6.   

    http://topic.csdn.net/u/20111008/09/ac1df4a0-6ff0-4254-92c6-fe171b47acfe.html
      

  7.   


    declare @str varchar(100)='你好<img width="521" height="178" alt="" src="/UploadFiles/image/ss.jpg" />我勒个去,哈哈'select STUFF(@str,CHARINDEX('<',@str),CHARINDEX('>',@str)-CHARINDEX('<',@str)+1,'')/*------------------
    你好我勒个去,哈哈(1 行受影响)