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? 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 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? 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']); 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! 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
Archived
This topic is now archived and is closed to further replies.