Hi Matthew...

The string isn't necessarily all html.  This is for a messaging app, and
people can include html elements for formatting.

So the string is coming back via cfquery as variable #message_body#

I want to parse this variable and remove any html formatting and if there
are links, remove all the ahref junk and just display the link value
itself.. so if I have this as the string

<b>Hey Man!</b> Did you see this site? <a href="http://google.com";>
google.com</a>

I would get

Hey Man! Did you see this site? http://google.com



On Wed, Nov 16, 2011 at 4:18 PM, Matthew Woodward <[email protected]>wrote:

> You get the HTML as an object first, then you can pull what you want from
> it.
>
> If you want to parse it as a string, just use CFHTTP.
>
>
> On Wed, Nov 16, 2011 at 2:04 PM, Jason King <[email protected]>wrote:
>
>> doc = html( FileRead("http://www.openbd.org/";)
>>
>> Is the function pulling the html serviced by openbd.org and parsing it?
>>
>> I just want to parse a string, not an entire html document. Or, is it 
>> getting the 'string' by 'fileread' so what's captured by fileread IS A 
>> STRING of html characters, not any different than the string I'm providing?
>>
>>
>> On Wed, Nov 16, 2011 at 4:01 PM, Jason King <[email protected]>wrote:
>>
>>> I'm looking at it now..
>>>
>>> do i have to use CFSCRIPT?
>>>
>>>
>>> On Wed, Nov 16, 2011 at 4:00 PM, Alex Skinner <[email protected]> wrote:
>>>
>>>> Did you have a look at the example docs I sent
>>>>
>>>> So the example code on the manual page would be pretty close ?
>>>>
>>>> <cfscript>
>>>> doc = html( FileRead("http://www.openbd.org/";) );
>>>>
>>>> allLinks = doc.select("a[href]");
>>>> for ( x = 1; x <= ArrayLen(allLinks); x++ ){
>>>>   WriteOutput("<li>" & allLinks[x].attr("href") & " / " & 
>>>> allLinks[x].text() & "</li>" );
>>>> }
>>>> </cfscript>
>>>>
>>>>
>>>> Or the example on jsoup ?
>>>>
>>>> http://jsoup.org/cookbook/extracting-data/attributes-text-html
>>>>
>>>> Alex
>>>>
>>>>
>>>>
>>>> On 16 November 2011 21:56, Jason King <[email protected]> wrote:
>>>>
>>>>> ahh.. i never really work with J-Query
>>>>>
>>>>> How would I use it to get 'http://google.com' out of the link ref
>>>>> below?
>>>>>
>>>>> <a href="http://google.com";></a>
>>>>>
>>>>> Assume
>>>>>
>>>>> <CFSET var = '<a href="http://google.com";></a>'>
>>>>>
>>>>> How would I apply html() to 'var' to strip that out?
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Nov 16, 2011 at 3:48 PM, Alex Skinner <[email protected]>wrote:
>>>>>
>>>>>> Now you can do JQuery-like selectors on it
>>>>>>
>>>>>> You've just been given a document object
>>>>>>
>>>>>> http://www.openbluedragon.org/manual/?/function/html
>>>>>>
>>>>>> http://jsoup.org/
>>>>>>
>>>>>> For some samples
>>>>>>
>>>>>> Alex
>>>>>>
>>>>>> On 16 November 2011 21:44, Jason King <[email protected]> wrote:
>>>>>>
>>>>>>> Upgraded....
>>>>>>>
>>>>>>> I have a string called 'body' and I'm applying it to the function.
>>>>>>>
>>>>>>> <cfset demovarA = "#html(body)#">
>>>>>>>
>>>>>>> What's going on here? debugging is giving me this entire array as
>>>>>>> the value of demovarA
>>>>>>>
>>>>>>> *object of org.jsoup.nodes.Document*
>>>>>>> Methods clone (returns org.jsoup.nodes.Node)
>>>>>>>
>>>>>>> clone (returns org.jsoup.nodes.Element)
>>>>>>>
>>>>>>> clone (returns org.jsoup.nodes.Document)
>>>>>>> clone (returns java.lang.Object)
>>>>>>> head (returns org.jsoup.nodes.Element)
>>>>>>> body (returns org.jsoup.nodes.Element)
>>>>>>> text (returns org.jsoup.nodes.Element)
>>>>>>> nodeName (returns java.lang.String)
>>>>>>> createElement (returns org.jsoup.nodes.Element)
>>>>>>> normalise (returns org.jsoup.nodes.Document)
>>>>>>> title (returns void)
>>>>>>> title (returns java.lang.String)
>>>>>>> createShell (returns org.jsoup.nodes.Document)
>>>>>>> quirksMode (returns org.jsoup.nodes.Document)
>>>>>>> quirksMode (returns org.jsoup.nodes.Document$QuirksMode)
>>>>>>> outerHtml (returns java.lang.String)
>>>>>>> outputSettings (returns org.jsoup.nodes.Document$OutputSettings)
>>>>>>> parent (returns org.jsoup.nodes.Element)
>>>>>>> parent (returns org.jsoup.nodes.Node)
>>>>>>> addClass (returns org.jsoup.nodes.Element)
>>>>>>> equals (returns boolean)
>>>>>>> toString (returns java.lang.String)
>>>>>>> append (returns org.jsoup.nodes.Element)
>>>>>>> hashCode (returns int)
>>>>>>> wrap (returns org.jsoup.nodes.Node)
>>>>>>> wrap (returns org.jsoup.nodes.Element)
>>>>>>> empty (returns org.jsoup.nodes.Element)
>>>>>>> val (returns java.lang.String)
>>>>>>> val (returns org.jsoup.nodes.Element)
>>>>>>> after (returns org.jsoup.nodes.Node)
>>>>>>> after (returns org.jsoup.nodes.Node)
>>>>>>> after (returns org.jsoup.nodes.Element)
>>>>>>> after (returns org.jsoup.nodes.Element)
>>>>>>> before (returns org.jsoup.nodes.Element)
>>>>>>> before (returns org.jsoup.nodes.Node)
>>>>>>> before (returns org.jsoup.nodes.Element)
>>>>>>> before (returns org.jsoup.nodes.Node)
>>>>>>> id (returns java.lang.String)
>>>>>>> attr (returns org.jsoup.nodes.Element)
>>>>>>> attr (returns org.jsoup.nodes.Node)
>>>>>>> prepend (returns org.jsoup.nodes.Element)
>>>>>>> children (returns org.jsoup.select.Elements)
>>>>>>> className (returns java.lang.String)
>>>>>>> text (returns java.lang.String)
>>>>>>> data (returns java.lang.String)
>>>>>>> child (returns org.jsoup.nodes.Element)
>>>>>>> appendChild (returns org.jsoup.nodes.Element)
>>>>>>> select (returns org.jsoup.select.Elements)
>>>>>>> html (returns java.lang.String)
>>>>>>> html (returns org.jsoup.nodes.Element)
>>>>>>> getElementById (returns org.jsoup.nodes.Element)
>>>>>>> tagName (returns org.jsoup.nodes.Element)
>>>>>>> tagName (returns java.lang.String)
>>>>>>> tag (returns org.jsoup.parser.Tag)
>>>>>>> dataset (returns java.util.Map)
>>>>>>> getAllElements (returns org.jsoup.select.Elements)
>>>>>>> classNames (returns org.jsoup.nodes.Element)
>>>>>>> classNames (returns java.util.Set)
>>>>>>> isBlock (returns boolean)
>>>>>>> parents (returns org.jsoup.select.Elements)
>>>>>>> prependChild (returns org.jsoup.nodes.Element)
>>>>>>> appendElement (returns org.jsoup.nodes.Element)
>>>>>>> prependElement (returns org.jsoup.nodes.Element)
>>>>>>> appendText (returns org.jsoup.nodes.Element)
>>>>>>> prependText (returns org.jsoup.nodes.Element)
>>>>>>> siblingElements (returns org.jsoup.select.Elements)
>>>>>>> nextElementSibling (returns org.jsoup.nodes.Element)
>>>>>>> previousElementSibling (returns org.jsoup.nodes.Element)
>>>>>>> firstElementSibling (returns org.jsoup.nodes.Element)
>>>>>>> elementSiblingIndex (returns java.lang.Integer)
>>>>>>> lastElementSibling (returns org.jsoup.nodes.Element)
>>>>>>> getElementsByTag (returns org.jsoup.select.Elements)
>>>>>>> getElementsByClass (returns org.jsoup.select.Elements)
>>>>>>> getElementsByAttribute (returns org.jsoup.select.Elements)
>>>>>>> getElementsByAttributeStarting (returns org.jsoup.select.Elements)
>>>>>>> getElementsByAttributeValue (returns org.jsoup.select.Elements)
>>>>>>> getElementsByAttributeValueNot (returns org.jsoup.select.Elements)
>>>>>>> getElementsByAttributeValueStarting (returns
>>>>>>> org.jsoup.select.Elements)
>>>>>>> getElementsByAttributeValueEnding (returns
>>>>>>> org.jsoup.select.Elements)
>>>>>>> getElementsByAttributeValueContaining (returns
>>>>>>> org.jsoup.select.Elements)
>>>>>>> getElementsByAttributeValueMatching (returns
>>>>>>> org.jsoup.select.Elements)
>>>>>>> getElementsByAttributeValueMatching (returns
>>>>>>> org.jsoup.select.Elements)
>>>>>>> getElementsByIndexLessThan (returns org.jsoup.select.Elements)
>>>>>>> getElementsByIndexGreaterThan (returns org.jsoup.select.Elements)
>>>>>>> getElementsByIndexEquals (returns org.jsoup.select.Elements)
>>>>>>> getElementsContainingText (returns org.jsoup.select.Elements)
>>>>>>> getElementsContainingOwnText (returns org.jsoup.select.Elements)
>>>>>>> getElementsMatchingText (returns org.jsoup.select.Elements)
>>>>>>> getElementsMatchingText (returns org.jsoup.select.Elements)
>>>>>>> getElementsMatchingOwnText (returns org.jsoup.select.Elements)
>>>>>>> getElementsMatchingOwnText (returns org.jsoup.select.Elements)
>>>>>>> ownText (returns java.lang.String)
>>>>>>> hasText (returns boolean)
>>>>>>> hasClass (returns boolean)
>>>>>>> removeClass (returns org.jsoup.nodes.Element)
>>>>>>> toggleClass (returns org.jsoup.nodes.Element)
>>>>>>> remove (returns void)
>>>>>>> replaceWith (returns void)
>>>>>>> attr (returns java.lang.String)
>>>>>>> childNode (returns org.jsoup.nodes.Node)
>>>>>>> attributes (returns org.jsoup.nodes.Attributes)
>>>>>>> nextSibling (returns org.jsoup.nodes.Node)
>>>>>>> previousSibling (returns org.jsoup.nodes.Node)
>>>>>>> ownerDocument (returns org.jsoup.nodes.Document)
>>>>>>> unwrap (returns org.jsoup.nodes.Node)
>>>>>>> baseUri (returns java.lang.String)
>>>>>>> setBaseUri (returns void)
>>>>>>> childNodes (returns java.util.List)
>>>>>>> absUrl (returns java.lang.String)
>>>>>>> siblingIndex (returns int)
>>>>>>> hasAttr (returns boolean)
>>>>>>> removeAttr (returns org.jsoup.nodes.Node)
>>>>>>> siblingNodes (returns java.util.List)
>>>>>>> wait (returns void)
>>>>>>> wait (returns void)
>>>>>>> wait (returns void)
>>>>>>> getClass (returns java.lang.Class)
>>>>>>> notify (returns void)
>>>>>>> notifyAll (returns void)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>  --
>>>>>>> official tag/function reference: http://openbd.org/manual/
>>>>>>> mailing list - http://groups.google.com/group/openbd?hl=en
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Alex Skinner
>>>>>> Managing Director
>>>>>> Pixl8 Interactive
>>>>>>
>>>>>> Tel: +448452600726
>>>>>> Email: [email protected]
>>>>>> Web: pixl8.co.uk
>>>>>>
>>>>>>  --
>>>>>> official tag/function reference: http://openbd.org/manual/
>>>>>> mailing list - http://groups.google.com/group/openbd?hl=en
>>>>>>
>>>>>
>>>>>  --
>>>>> official tag/function reference: http://openbd.org/manual/
>>>>> mailing list - http://groups.google.com/group/openbd?hl=en
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Alex Skinner
>>>> Managing Director
>>>> Pixl8 Interactive
>>>>
>>>> Tel: +448452600726
>>>> Email: [email protected]
>>>> Web: pixl8.co.uk
>>>>
>>>>  --
>>>> official tag/function reference: http://openbd.org/manual/
>>>> mailing list - http://groups.google.com/group/openbd?hl=en
>>>>
>>>
>>>
>>  --
>> official tag/function reference: http://openbd.org/manual/
>> mailing list - http://groups.google.com/group/openbd?hl=en
>>
>
>
>
> --
> Matthew Woodward
> [email protected]
> http://blog.mattwoodward.com
> identi.ca / Twitter: @mpwoodward
>
> Please do not send me proprietary file formats such as Word, PowerPoint,
> etc. as attachments.
> http://www.gnu.org/philosophy/no-word-attachments.html
>
> --
> official tag/function reference: http://openbd.org/manual/
> mailing list - http://groups.google.com/group/openbd?hl=en
>

-- 
official tag/function reference: http://openbd.org/manual/
 mailing list - http://groups.google.com/group/openbd?hl=en

Reply via email to