Totally right on the corrections. Sorry, i did not copy paste from the source 
code, I wrote here to change to other names and wrote it bad.
It should be:
$file = 'screens/temp/7a45gfdi6icpan1jtb1j99o925_1_main.jpg';

 echo $a =  str_replace(array('7a45gfdi6icpan1jtb1j99o925', 
'temp/',’_([0-9])’), array('test','',''), $file)

Already understand that str_replace doesn't work with regex, but not getting 
any luck making one preg_replace() to my needs.

Thank you

-----Mensagem original-----
De: Ashley Sheridan [] 
Enviada: quarta-feira, 22 de Julho de 2009 13:20
Para: rszeus
Assunto: Re: [PHP] Replace in a string with regex

On Wed, 2009-07-22 at 13:02 +0100, rszeus wrote:
> Hello,
> I’m tryng to make some replacements on a string.
> Everything goês fine until the regular expression.
> $file = "screens/temp/7a45gfdi6icpan1jtb1j99o925_1_main.jpg";
> echo $a =  str_replace(array(7a45gfdi6icpan1jtb1j99o925,
> 'temp/',’_([0-9])’), array(“test”,"",””), $file)
> The idea is to remove /temp and the last _1 from the file name..but i’m only
> getting this:
> screens/test_1_main.jpg
> I want it to be: screens/test_main.jpg
> Thank you
Well, you seem to have some problems with the syntax you're using on
str_replace(). According to your script, you want to remove the

7a45gfdi6icpan1jtb1j99o925    - which you haven't even enclosed in quote
’_([0-9])’        - which are using weird back ticks, not quote marks

and you are trying to replace those three things with

“test”  - again, not proper quote marks
””      - not proper quote marks

Afaik, str_replace() doesn't allow for text replacement using regular
expressions, for that you'd have to use something like preg_replace()

Also, make sure your strings are correctly enclosed in quote marks, and
that the quote marks you use are actual quote marks and not the accented
'pretty' ones that are offered up by word processors, etc.

A regex which would do the job would look something like this:


That should create 2 matches, one for the initial directory and the
other for the latter part of the filename.


PHP General Mailing List (
To unsubscribe, visit:

Reply via email to