====== 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 '&')
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('&',@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+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
}