Jump to content

[SOLVED] multiple str_replace in one string?


Jakebert

Recommended Posts

Hi everyone,

 

Hope someone can help me out with this...

 

So let's say I have a sentence in my database that looks like this:

$fname must now remember to keep $pos legs straight when kicking. $pro must also breathe regularly.

 

$fname, $pro, $pos are all variables defined by the user in a form.

 

I've figured out how to replace one of the variables

echo str_replace('$fname', $_POST['firstname'], $_POST['intro_sentence']);

 

Is it possible to replace all the variables in that one string?

Hmmm.... the answer would appear to be yes... :D

 

However... it does not appear to be working:

 

$old= array("$fname", "$pos", "$pro");
$new= array($_POST['firstname'], $_POST['possessive'], $_POST['pronoun']);

echo str_replace($old, $new, $_POST['intro_sentence']);

 

Is that right?

Hmmm.... the answer would appear to be yes... :D

 

However... it does not appear to be working:

 

$old= array("$fname", "$pos", "$pro");
$new= array($_POST['firstname'], $_POST['possessive'], $_POST['pronoun']);

echo str_replace($old, $new, $_POST['intro_sentence']);

 

Is that right?

 

Since you're wanting to use mock variables, you need to either place them in single quotes, or escape them - otherwise PHP will try to parse them.

$old= array('$fname', '$pos', '$pro');
$new= array($_POST['firstname'], $_POST['possessive'], $_POST['pronoun']);

echo str_replace($old, $new, $_POST['intro_sentence']);

OR

$old= array("\$fname", "\$pos", "\$pro");
$new= array($_POST['firstname'], $_POST['possessive'], $_POST['pronoun']);

echo str_replace($old, $new, $_POST['intro_sentence']);

 

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.