lcHTMLText = STRTRAN(lcHTMLText,lcLTag + "Br" + lcRTag,CRLF) lcHTMLText = STRTRAN(lcHTMLText,lcLTag + "bR" + lcRTag,CRLF)is in order - the "Br" happend to me in the wild when working off a similar routine ;-)
>>************************************************************************ >>FUNCTION StripHTML >>******************* >>*** Function: Removes HTML tags from the passed text and converts >>*** it to plain text. Note formatting is totally removed! >>*** Assume: only <br> and <p> are translated >>*** any < or > in the HTML besides tags will break this >>*** function. >>*** Pass: lcText - HTML Text to strip >>*** lcLTag - Left Tag value ("<") >>*** lcRTag - Right Tag Value (">") >>*** Return: Stripped HTML text >>************************************************************************* >>LPARAMETER lcHTMLText, lcLTag, lcRTag >> >>lcLTag=IIF(EMPTY(lcLTag),"<",lcLTag) >>lcRTag=IIF(EMPTY(lcRTag),">",lcRTag) >> >>IF ATC(lcLTag,lcHTMLText) = 0 >> RETURN lcHTMLText >>ENDIF >> >>*** Start by breaking line breaks >>lcHTMLText = STRTRAN(lcHTMLText,lcLTag + "BR" + lcRTag,CRLF) >>lcHTMLText = STRTRAN(lcHTMLText,lcLTag + "P" + lcRTag,CRLF+CRLF) >>lcHTMLText = STRTRAN(lcHTMLText,lcLTag + "br" + lcRTag,CRLF) >>lcHTMLText = STRTRAN(lcHTMLText,lcLTag + "p" + lcRTag,CRLF+CRLF) >>lcHTMLText = STRTRAN(lcHTMLText," "," ") >> >>lcExtract = "x" >>DO WHILE !EMPTY(lcExtract) >> lcExtract = STREXTRACT(lcHtmlText,lcLTag,lcRTag,1) >> **Extract(lcHTMLText,lcLTag,lcRTag) >> >> IF EMPTY(lcExtract) >> EXIT >> ENDIF >> lcHTMLText = STRTRAN(lcHTMLText,lcLTag+lcExtract+lcRTag,"") >>ENDDO >> >>lcHTMLText = STRTRAN(lcHTMLText,"<","<") >>lcHTMLText = STRTRAN(lcHTMLText,">",">") >> >>RETURN lcHTMLText >>>>