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! Link to comment https://forums.phpfreaks.com/topic/229414-str_replace-with-correct-length-of-chars/ Share on other sites More sharing options...
AbraCadaver Posted March 2, 2011 Share Posted March 2, 2011 What would apple be replaced with? Link to comment https://forums.phpfreaks.com/topic/229414-str_replace-with-correct-length-of-chars/#findComment-1182015 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 Link to comment https://forums.phpfreaks.com/topic/229414-str_replace-with-correct-length-of-chars/#findComment-1182019 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. Link to comment https://forums.phpfreaks.com/topic/229414-str_replace-with-correct-length-of-chars/#findComment-1182020 Share on other sites More sharing options...
coolguydudeman Posted March 2, 2011 Author Share Posted March 2, 2011 $convertChar = "*"; it would be replaced with, *****. Link to comment https://forums.phpfreaks.com/topic/229414-str_replace-with-correct-length-of-chars/#findComment-1182026 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); } Link to comment https://forums.phpfreaks.com/topic/229414-str_replace-with-correct-length-of-chars/#findComment-1182030 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! Link to comment https://forums.phpfreaks.com/topic/229414-str_replace-with-correct-length-of-chars/#findComment-1182033 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.