Thanks!

Dave

-----Original Message-----
From: Bobby Hartsfield [mailto:[EMAIL PROTECTED]
Sent: Saturday, September 03, 2005 5:10 PM
To: CF-Talk
Subject: RE: Trying to ensure links have a target attribute


Try this. It should take care of all instances you run across. If the raget
attribute is in fact in a valid link, it either ends with a space or a
closing bracket >

<cfsavecontent variable="thetext">
<a href="http://mysite.com"; target="_blank">1</a><br>
<a href="http://mysite.com"; target="_self" title="something">2</a><br>
<a href="http://mysite.com";>3</a><br>
<a target=_blank href="http://mysite.com";>4</a><br>
<a href="http://mysite.com"; target='_nada'>5</a><br>
</cfsavecontent>


<cfscript>
function targetlinks(str, targ)
{
  str = rereplacenocase(str,'( target=.*?)([ |>])',"\2","ALL");
  str = replacenocase(thetext, "<a ", "<a target=""#targ#"" ", "ALL");
  return str;
}
</cfscript>

<cfoutput>#targetlinks(thetext, "_blank")#</cfoutput>

The first rereplace strips out all target attributes. The second puts the
attribute back with the value you pass to the function.

It seems to work with everything I've thrown at it thus far.

~Bobby

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: Saturday, September 03, 2005 3:57 PM
To: CF-Talk
Subject: RE: Trying to ensure links have a target attribute

Okay, this is what I got, and it works, but I'm wondering if there's a way
to combine all three replaces into one:

                <cfset text =
REReplaceNoCase(text,'target="[^"]*"',"","ALL")>
                <cfset text =
REReplaceNoCase(text,"target='[^']*'","","ALL")>
                <cfset text = REReplaceNoCase(text,'target=[^>|^
]*',"","ALL")>
                <cfset text = ReplaceNoCase(text,"<a ",'<a target="_blank"
',"ALL")>

What do you think?  Also, if you see something wrong with these, please let
me know. I've tested and it seems to work right, but I don't know if it
might actually get something I'm not thinking of.

Thanks,

Dave
****************************************************************************
**************
The information contained in this message, including attachments, may
contain 
privileged or confidential information that is intended to be delivered only
to the 
person identified above. If you are not the intended recipient, or the
person 
responsible for delivering this message to the intended recipient, ALLTEL
requests 
that you immediately notify the sender and asks that you do not read the
message or its 
attachments, and that you delete them without copying or sending them to
anyone else. 






~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Find out how CFTicket can increase your company's customer support 
efficiency by 100%
http://www.houseoffusion.com/banners/view.cfm?bannerid=49

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:217302
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to