coolguydudeman Posted March 2, 2011 Share Posted March 2, 2011 I am trying to figure out a way of filtering certain words from a string using str_replace - However i would like to replace the words with something showing the correct length of the word. So far I have got: <?php $input = "Oranges, apples, and pears are all types of fruit!"; $words = array("oranges","apples","pears"); function convertType($x) { $maskWords = array(); $convertChar = "*"; for ($i = 0; $i < strlen($x); $i++) { array_push($maskWords, $convertChar); } $convertString = implode(".", $maskWords); $stripString = str_replace(".", "", $convertString); return $stripString; } for ($i = 0; $i < count($words); $i++) { $input = str_ireplace($words[$i], convertType($words[$i]), $input); } print $input; ?> As I am fairly new to PHP I am not sure if this is the most effiicent way of doing this so I was hoping somebody could provide some input for me. For instance is there a function to convert the array into a full-length string without using a delimiter? Thanks! Quote Link to comment Share on other sites More sharing options...
AbraCadaver Posted March 2, 2011 Share Posted March 2, 2011 What would apple be replaced with? Quote Link to comment Share on other sites More sharing options...
coolguydudeman Posted March 2, 2011 Author Share Posted March 2, 2011 Well "apple" would not be replaced with anything from the above code. But i was just using the fruit names instead of the actual swear words Quote Link to comment Share on other sites More sharing options...
AbraCadaver Posted March 2, 2011 Share Posted March 2, 2011 Well "apple" would not be replaced with anything from the above code. But i was just using the fruit names instead of the actual swear words No ****! I meant as an example, if apple were the word, what would it be replaced with. Quote Link to comment Share on other sites More sharing options...
coolguydudeman Posted March 2, 2011 Author Share Posted March 2, 2011 $convertChar = "*"; it would be replaced with, *****. Quote Link to comment Share on other sites More sharing options...
AbraCadaver Posted March 2, 2011 Share Posted March 2, 2011 foreach($words as $word) { $input = str_ireplace($word, str_repeat($convertChar, strlen($word)), $input); } Quote Link to comment Share on other sites More sharing options...
coolguydudeman Posted March 2, 2011 Author Share Posted March 2, 2011 foreach($words as $word) { $input = str_ireplace($word, str_repeat($convertChar, strlen($word)), $input); } Thanks allot! Quote Link to comment 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.