Re: str_replace on words with an array

From: Date: Sun, 29 Oct 2006 22:12:04 +0000
Subject: Re: str_replace on words with an array
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-243845@lists.php.net to get a copy of this message
Dotan Cohen wrote: > $searchQuery=str_replace( "^".$noiseArray."$", " ", > $searchQuery); Ok, this is what the compiler will see... $searchQuery=str_replace("^Array$", " ", $searchQuery); Yes, that's a literal Array in the string. You cannot, and you should remember this, you cannot concatenate strings and arrays. What would you expect it to do? Now, the answer is this... $searchQuery = str_replace($noiseArray, ' ', $searchQuery); However, what you seem to be doing is putting regex syntax where it would have no effect even if $noiseArray was not an array. If your intention is to replace the words rather than just the strings then you need to look at preg_replace (http://php.net/preg_replace) and you'll need to decorate the strings in $noiseArray with the appropriate characters to make them the search pattern you need - full details on the preg_replace manual page. Hope that made sense. -Stut

« previous php.general (#243845) next »