Show pageOld revisionsBacklinksExport to PDFFold/unfold allBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== pears.MakeHTMLReadable ====== <WRAP center round info> Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace. </WRAP> ===== Original SQL ===== <code sql> create function "pears"."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 </code> database/functions/pears_makehtmlreadable.txt Last modified: 2026/08/07 19:24by 127.0.0.1