Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: Parse problem

From: pwawood:mango:my at: 9-Oct-2005 13:22

Bonjour encore Patrick I realised that my simplistic function had an logic error so that it only would have processed the first url it came across. I've updated it now. highlight-links: func [ {Wraps an <a href> tag around http urls in a string.} text [string!] "The string containing http urls." /local url-end "Used to workout where the url ends" ][ while [find text "http://"] [ text: find text "http://" ;; find char after url url-end: copy find/tail text "http:" until [ url-end: next url-end any [ (url-end = "") (#" " = first url-end) (#"," = first url-end) (#":" = first url-end) (#";" = first url-end) ] ] ;; insert the <a> tag either url-end = "" ;; url is at end of text [ insert text rejoin [ {<a href="} copy text {">} ] insert text: tail text "</a>" ][ ;; text after url url-end: first url-end insert text rejoin [ {<a href="} copy/part text find text url-end {">} ] text: find/tail text {">} ;; skip over insert text: find text url-end insert text "</a>" ] ] text: head text ] Regards Peter