replaceNoCase was using the source string as the replace string.

the 3-argument version of replaceNoCase was using the source string as the string to replace. This fixes it.