php词过滤功能?

标签 php mysql sql arrays loops

我已经编写了这个函数

function bad_words($val){
    global $pre; 
    $sql = mysql_query("SELECT * FROM " . $pre . "BAD_WORDS") or die(mysql_error());
    $rs = mysql_fetch_assoc($sql); 
    if (mysql_num_rows($sql) > 0) { 
        $bad_words = $rs['BAD_WORD']; 
        $replace = $rs['REPLACE']; 
    } 
    $val = str_ireplace($bad_words, $replace, $val);
    return $val; 
}

BAD_WORDS 表(ID、BAD_WORD、REPLACE)


当我使用此函数时,它会用 id = 1 替换单词,但不会替换其他单词。

我错过了什么?

最佳答案

您只从表中获取第一行。你必须使用循环来迭代 结果集中的所有行。

function bad_words($val)
{
global $pre;
$sql = mysql_query("SELECT * FROM " . $pre . "BAD_WORDS") or die(mysql_error());

if (mysql_num_rows($sql) > 0) {
   while($rs = mysql_fetch_assoc($sql)) {
      $bad_words[] = $rs['BAD_WORD'];
      $replace[] = $rs['REPLACE'];
   }
}
$val = str_ireplace($bad_words, $replace, $val);
return $val;
}

关于php词过滤功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10520564/

相关文章:

sql - 请勿在分组依据中包含选择列

sql - plpgsql;将所有表名存储到一个数组中

mysql - 通过获取 ListView 中特定列中的值与我的数据库中的值的总和来更新数据库

php - 更新查询增量字段加1个codeigniter函数

php - 什么从我的 PHP 网站过滤无效的 utf8?

php - 查询大数据集时,防止脚本超时

mysql - 如何使用Left Join和子查询修复SQL查询?

PHP点击ling,根据ID打开新的PHP页面

PHP 服务器端打印 Ubuntu 服务器

PHP 类/OOP : When to "reference" a class within a class vs extend a class?