Couldn't a UDF get close to that?
<cffunction name="REReplaceByArray" returntype="string">
<cfargument name="patternArray" type="array" required="yes">
<cfargument name="replacementArray" type="array" required="yes">
<cfargument name="stringValue" type="string" required="yes">
<cfset var i=0>
<cfset var returnString="">
<cfif arrayLen(arguments.patternArray) neq
arrayLen(arguments.replacementArray)>
<cfthrow message="patternArray and replacementArray are not the
same size.">
</cfif>
<cfset returnString=arguments.stringValue>
<cfloop from="1" to="#arrayLen(arguments.patternArray)#" index="i">
<cfset
returnString=REReplace(returnString,patternArray[i],replacementArray[i],"all")>
</cfloop>
<cfreturn returnString>
</cffunction>
<cfset myString="The quick brown fox jumped over the lazy dog.">
<cfset patterns=arrayNew(1)>
<cfset patterns[1] = "quick">
<cfset patterns[2] = "brown">
<cfset patterns[3] = "fox">
<cfset replacements=arrayNew(1)>
<cfset replacements[3] = "bear">
<cfset replacements[2] = "black">
<cfset replacements[1] = "slow">
<cfoutput>#REReplaceByArray(patterns,replacements,myString)#</cfoutput>
Needs a bit of tweaking, but...
-----Original Message-----
From: Dmitrii Dimandt [mailto:[EMAIL PROTECTED]
Sent: Wednesday, August 16, 2006 12:08 PM
To: CF-Talk
Subject: Re: Transform Unicode characters
Accepts arrays for both patterns and replacements. From the docs:
<?php
$string = 'The quick brown fox jumped over the lazy dog.';
$patterns[0] = '/quick/';
$patterns[1] = '/brown/';
$patterns[2] = '/fox/';
$replacements[2] = 'bear';
$replacements[1] = 'black';
$replacements[0] = 'slow';
echo preg_replace($patterns, $replacements, $string); ?>
But anyway, problem solved... In a way...
On 8/16/06, Everett, Al (NIH/NIGMS) [C] <[EMAIL PROTECTED]> wrote:
>
> What does preg_replace do that REReplace() doesn't?
>
> -----Original Message-----
> From: Dmitrii Dimandt [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, August 16, 2006 11:04 AM
> To: CF-Talk
> Subject: Re: Transform Unicode characters
>
> Because it transforms charactrs into garbage (sth. like %C4%B1 for ý).
> And I need human-readable format :)) Anyway. I guess I'll stick to my
> XML solution. I read mappings from a UTF-8 encoded XML file into
> arrays and then iterate over them and replace whatever characters I
> need. I miss PHP's preg_replace :)))
>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting,
up-to-date ColdFusion information by your peers, delivered to your door four
times a year.
http://www.fusionauthority.com/quarterly
Archive:
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:250013
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe:
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4