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