Jump to content

[SOLVED] Trying to preg_replace but not working


ballhogjoni

Recommended Posts

Hi all,

 

I am trying to find a url in a string and replace with another url but I can't seem to get this to work. I know the first parameter is correct. Any help would be great!

 

$sCardHoldersSay = preg_replace( '/(http:\/\/www1\.xxxxxxxxx\.com\/partners\/links\/cardholders\/details\.asp\?idmin=)([0-9]+)(&tempid=568261)/',FACS_href.'/card-holders-say/'.$url_1.'/'.preg_replace('/ /','-',$sIssuer).'.html',$sDefinitionList );

While I cannot say for sure.. here are a few things that come to mind..

 

I would simplify the pattern:

$sCardHoldersSay = preg_replace('#http://www1\.xxxxxxxxx\.com/partners/links/cardholders/details\.asp\?idmin=\d+&tempid=568261#', FACS_href.'/card-holders-say/'.$url_1.'/'.preg_replace('#\x20#','-',$sIssuer).'.html',$sDefinitionList);

 

What I have done here:

- is replace the / delimiters with #. This way, you don't have to escape forward slashes.

- I don't think parenthesis are needed.

- simplified stuff like [0-9] to \d.

- I personally can't stand seeing a space in a pattern, so I replaced your space in the nested preg_replace with \x20 (this is just my personal preference).

 

It is hard to know what is wrong if we don't know:

- what errors you are seeing PHP generate

- what the value of $sIssuer is.

- what the value of $sDefinitionList is.

 

Is it possible to display an actual string example (or a fake sample that accurately reflects the real thing)? I just think there is too little info to go by (unless it is all there and I am simply missing something).

 

Cheers,

 

NRG

No errrors, i figured it out. I decided to echo out the result and see what the isszue was, come to find out I forgot I had another preg_replace() rewriting what I change earlier. So I was rewriting the url on accident. Its fixed now though. Sorry for wasting your time.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.