Quantcast
Channel: Adobe Community: Message List - ColdFusion
Viewing all articles
Browse latest Browse all 21760

Re: RegEx Help

$
0
0

It almost works but it's outputting this:

 

local.string = <a href="http://www.google.com" alias="my link alias">learn more</a>

 

local.aliaspos.pos[1] = 33

local.aliaspos.len[1] = 21

 

local.this.alias = alias=my link alias

 

Should be:

local.this.alias = my link alias

 

 

Here's the updated code:

 

<cfloop condition="local.startpos GREATER THAN 0">

          <cfset local.linkpos = reFindNoCase('<a\b[^>]*>(.*?)</a>',variables.html,local.startpos,'tru e')>

 

          <cfif val(local.linkpos.len[1])>

                    <cfset local.startpos = local.linkpos.len[1]+local.linkpos.pos[1]>

                    <cfset local.string = mid(variables.html,local.linkpos.pos[1],local.linkpos.len[1])>

                    <cfoutput>local.string = <xmp>#local.string#</xmp><br></cfoutput>

 

                    <cfset local.hrefpos = reFindNoCase('(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^= %&:/~\+##]*[\w\-\@?^=%&/~\+##])?',local.string,1,'true')>

 

                    <cfset local.aliaspos = reFind('alias="([^"]+)"',local.string,1,'true')>

                    <cfoutput>

                              local.aliaspos.pos[1] = #local.aliaspos.pos[1]#<br>

                              local.aliaspos.len[1] = #local.aliaspos.len[1]#<br>

                    </cfoutput><br>

                    <cfif val(local.hrefpos.pos[1])>

                              <cfset local.this.href = mid(local.string,local.hrefpos.pos[1],local.hrefpos.len[1])>

                              <cfif val(local.aliaspos.pos[1])>

                                        <cfset local.this.alias = reReplaceNoCase(mid(local.string,local.aliaspos.pos[1],local.aliaspos .len[1]),'(a lias=)?"','','all')>

                                        <cfoutput>

                                        <p>

                                        local.this.alias = #local.this.alias#

                                        </p>

                                        </cfoutput>

                              </cfif>

                              <cfset local.this.title = reReplaceNoCase(local.string,'<a\b[^>]*.>',"")>

                              <cfset local.this.title = reReplaceNoCase(local.this.title,'</a*>',"")>

                              <cfset ArrayAppend(local.list,local.this)>

                              <cfset StructDelete(local,'this')>

                    </cfif>

                    <cfelse>

                              <cfbreak>

          </cfif>

</cfloop>

 

I think the REFind() needs a little tweaking so local.aliaspos.pos[1] is 31 and not 33.

 

Thanks


Viewing all articles
Browse latest Browse all 21760

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>