chr() expects you to pass it a numeric value.  You are passing it a string.
For instance,
if $text= "&#45", then you are trying to do:  chr("45"), which is not the
same as chr(45).
Hence, ereg_replace() fails and simply returns the original string, $text.

-----Original Message-----
From: Ando [mailto:[EMAIL PROTECTED]]
Sent: Thursday, March 28, 2002 7:08 AM
To: [EMAIL PROTECTED]
Subject: Re: [PHP] ereg_replace or chr bug?


Not sure what you mean here
$text= ereg_replace('&#([0-9]+);' , chr('\1') , $text);

should replace for example "A" with chr('65') (\1 means everything in
brackets in regular expression), which is 'A'   .

Rick Emery wrote:

> From the manual for chr()
>
> Returns a one-character string containing the character specified by
ascii.
>
> It replaces one (1) character, not a string

>
> -----Original Message-----
> From: Ando [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, March 28, 2002 6:59 AM
> To: [EMAIL PROTECTED]
> Subject: [PHP] ereg_replace or chr bug?
>
> Ok, what i wanna do is replace the codes in html with ascii equivalents:
>
> $text= ereg_replace('&#([0-9]+);' , chr('\1') , $text);
> But somehow it doesnt work, i have no idea why.
>
> When i use
> $text= ereg_replace('&#([0-9]+);' , '\1' , $text);
> it replaces everything correctly
>
> But
> $text= ereg_replace('&#([0-9]+);' , chr('\1') , $text);
> just replaces everything with an empty string
>
> using php 3.0.12
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to