====== pears.MakeHTMLReadable ====== Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace. ===== Original SQL ===== COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."MakeHTMLReadable" IS {create function MakeHTMLReadable /* Application Maintained Function / Procedure - DO NOT EDIT*/ (@HTMLText long varchar,@ReplaceBR smallint) returns long varchar as begin declare @Start integer declare @End integer declare @Length integer -- ReplaceBR with CRLF 0 - No 1 - Yes -- Replace the HTML entity & with the '&' character (this needs to be done first, as -- '&' might be double encoded as '&amp;') set @Start=CHARINDEX('&',@HTMLText) set @End=@Start+4 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=@Start+4 set @Length=(@End-@Start)+1 end -- Replace the HTML entity < with the '<' character set @Start=CHARINDEX('<',@HTMLText) set @End=@Start+3 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=@Start+3 set @Length=(@End-@Start)+1 end -- Replace the HTML entity > with the '>' character set @Start=CHARINDEX('>',@HTMLText) set @End=@Start+3 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=@Start+3 set @Length=(@End-@Start)+1 end -- Replace the HTML entity & with the '&' character set @Start=CHARINDEX('&amp;',@HTMLText) set @End=@Start+4 set @Length=(@End-@Start)+1 while(@Start > 0 and @End > 0 and @Length > 0) begin set @HTMLText=STUFF(@HTMLText,@Start,@Length,'&') set @Start=CHARINDEX('&amp;',@HTMLText) set @End=@Start+4 set @Length=(@End-@Start)+1 end -- Replace the HTML entity   with the ' ' character set @Start=CHARINDEX(' ',@HTMLText) set @End=@Start+5 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=@Start+5 set @Length=(@End-@Start)+1 end if(@ReplaceBR = 1) begin -- Replace any
tags with a newline set @Start=CHARINDEX('
',@HTMLText) set @End=@Start+3 set @Length=(@End-@Start)+1 while(@Start > 0 and @End > 0 and @Length > 0) begin set @HTMLText=STUFF(@HTMLText,@Start,@Length,"CHAR"(13)+"CHAR"(10)) set @Start=CHARINDEX('
',@HTMLText) set @End=@Start+3 set @Length=(@End-@Start)+1 end -- Replace any
tags with a newline set @Start=CHARINDEX('
',@HTMLText) set @End=@Start+4 set @Length=(@End-@Start)+1 while(@Start > 0 and @End > 0 and @Length > 0) begin set @HTMLText=STUFF(@HTMLText,@Start,@Length,'CHAR(13) + CHAR(10)') set @Start=CHARINDEX('
',@HTMLText) set @End=@Start+4 set @Length=(@End-@Start)+1 end -- Replace any
tags with a newline set @Start=CHARINDEX('
',@HTMLText) set @End=@Start+5 set @Length=(@End-@Start)+1 while(@Start > 0 and @End > 0 and @Length > 0) begin set @HTMLText=STUFF(@HTMLText,@Start,@Length,'CHAR(13) + CHAR(10)') set @Start=CHARINDEX('
',@HTMLText) set @End=@Start+5 set @Length=(@End-@Start)+1 end end -- Remove anything between tags set @Start=CHARINDEX('<',@HTMLText) set @End=LOCATE(@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=LOCATE(@HTMLText,'>',CHARINDEX('<',@HTMLText)) set @Length=(@End-@Start)+1 end return LTRIM(RTRIM(@HTMLText)) end }