Ben veritabanında kötü bir kelime listesi var. Her bir kullanıcının bir yorum göndermek, bir fonksiyon kötü kelimelerin tüm liste geçer ve * ile her kelimeyi değiştirmek
$query = "SELECT * FROM bad_words ORDER BY id ASC";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$word = $row['word'];
$replacement = "***";
$userInput = str_replace(" $word ", $replacement." ", $userInput);
}
Sorun str_replace düzgün çalışmıyor olmasıdır. Örneğin, "*** ociated" olacak "ilişkili". Ben de bu preg_replace kullanmayı denediniz
$userInput = preg_replace("|\\b$\word\\b|i",$replacement,$userInput);
but it is not working for some reason. Some of the bad words in the database contains characters like
@ | , ! * ) . ^ ' ( @
benim tahminim bu karakterler preg_replace başarısız olmasına neden olmasıdır. Bu etrafında yine de var mı?