Jakebert Posted September 10, 2009 Share Posted September 10, 2009 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? Quote Link to comment https://forums.phpfreaks.com/topic/173739-solved-multiple-str_replace-in-one-string/ Share on other sites More sharing options...
Philip Posted September 10, 2009 Share Posted September 10, 2009 You probably should read up on the manual, it'll give you your answer... str_replace Quote Link to comment https://forums.phpfreaks.com/topic/173739-solved-multiple-str_replace-in-one-string/#findComment-915878 Share on other sites More sharing options...
Jakebert Posted September 10, 2009 Author Share Posted September 10, 2009 Hmmm.... the answer would appear to be yes... 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? Quote Link to comment https://forums.phpfreaks.com/topic/173739-solved-multiple-str_replace-in-one-string/#findComment-915881 Share on other sites More sharing options...
Philip Posted September 10, 2009 Share Posted September 10, 2009 Hmmm.... the answer would appear to be yes... 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']); Quote Link to comment https://forums.phpfreaks.com/topic/173739-solved-multiple-str_replace-in-one-string/#findComment-915884 Share on other sites More sharing options...
Jakebert Posted September 10, 2009 Author Share Posted September 10, 2009 Genius! Thanks a bunch! Quote Link to comment https://forums.phpfreaks.com/topic/173739-solved-multiple-str_replace-in-one-string/#findComment-915885 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.