pears.MakeHTMLReadable

Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.

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 &lt; with the '<' character
  SET @START=CHARINDEX('&lt;',@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('&lt;',@HTMLText)
      SET @END=@START+3
      SET @LENGTH=(@End-@START)+1
    END
  -- Replace the HTML entity &gt; with the '>' character
  SET @START=CHARINDEX('&gt;',@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('&gt;',@HTMLText)
      SET @END=@START+3
      SET @LENGTH=(@End-@START)+1
    END
  -- Replace the HTML entity &amp; with the '&' character
  SET @START=CHARINDEX('&amp;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;amp;',@HTMLText)
      SET @END=@START+4
      SET @LENGTH=(@End-@START)+1
    END
  -- Replace the HTML entity &nbsp; with the ' ' character
  SET @START=CHARINDEX('&nbsp;',@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('&nbsp;',@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
}
  • database/procedures/pears_makehtmlreadable.txt
  • Last modified: 2026/08/07 19:24
  • by 127.0.0.1