Re: utf-8-safe replacement for strtr()?
| From: | Tom Worster | Date: | Wed, 25 Mar 2009 18:25:58 +0000 |
| Subject: | Re: utf-8-safe replacement for strtr()? | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-290683@lists.php.net to get a copy of this message | ||
thanks for the info.
i'll leave 2-param uses of strtr in my code alone. i have a replacement for
the 3-param version.
btw: i have quite a long checklist of stuff to do when upgrading code for
utf-8, including notes on about 100 functions. do you think it would be
worth putting it on a wiki somewhere?
On 3/25/09 6:32 AM, "Nisse Engström" <news.NOSPAM.0ixbtqKe@luden.se> wrote:
> On Tue, 24 Mar 2009 08:15:35 -0400, Tom Worster wrote:
>
>> On 3/23/09 2:02 PM, "Tom Worster" <fsb@thefsb.org> wrote:
>>
>>> i havea general replacement or workaround for every php function in my code
>>> that i know to be utf-8-unsafe. except one: strtr().
>>
>> strtr() with three parameters is certainly unsafe. but my tests are showing
>> that it may be ok with two parameters if the strings in the second parameter
>> are well formed utf-8.
>>
>> does anyone know more? can confirm or contradict?
>
> The two-argument version of strtr() should work fine
> since there are no collisions in utf-8 such that part
> of one character matches part of a different character.
>
> The question is whether the function is binary safe.
> The manual page doesn't say as far as I can tell.
> Google came up with the following:
>
> strtr() made binary safe in PHP3:
>
> <http://marc.info/?l=php-general&m=92740681805351&w=4>
>
> Two-argument version added in PHP4:
> <http://php.net/ChangeLog-4.php>
>
>
> /Nisse