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 <br> tags with a newline SET @START=CHARINDEX('<br>',@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('<br>',@HTMLText) SET @END=@START+3 SET @LENGTH=(@End-@START)+1 END -- Replace any <br/> tags with a newline SET @START=CHARINDEX('<br/>',@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('<br/>',@HTMLText) SET @END=@START+4 SET @LENGTH=(@End-@START)+1 END -- Replace any <br /> tags with a newline SET @START=CHARINDEX('<br />',@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('<br />',@HTMLText) SET @END=@START+5 SET @LENGTH=(@End-@START)+1 END END -- Remove anything between <whatever> 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 }