Nasıl php ile kötü sözler değiştiririm?

3 Cevap

Ben gibi kötü kelimelerin bir listesini filtrelemek için gereken bazı metin var:

$bad_words = array(
  'word1' => 'gosh',
  'word2' => 'darn',
);

I can bu ve bir anda yerini ancak yavaş doğru döngü? Daha iyi bir yolu var mı?

teşekkürler

3 Cevap

str_ireplace() arama ve değiştirme argümanlar her ikisi için bir dizi alabilir. Bu gibi mevcut dizi ile kullanabilirsiniz:

$unfiltered_string = "gosh and darn are bad words";
$filtered_string = str_ireplace(array_vals($bad_words), array_keys($bad_words), $unfiltered_string);

// $filtered string now contains: "word1 and word2 are bad words"

Şöyle:

function clean($array, $str) {
    $words = array_keys($array);
    $replacements = array_values($array);

    return preg_replace($words, $replacements, $str);
}