php单词微调器问题

php单词微调器问题,php,mysql,Php,Mysql,我正在尝试制作一个微调器函数来旋转字符串并替换mysql表中的一个单词。我使用了这个函数: function mradef($text) { global $db; $text = trim($text); $word = explode(" ", $text); $finalword=''; foreach($word as $words) { $q = $db->query("select simple_id,name,synon

我正在尝试制作一个微调器函数来旋转字符串并替换mysql表中的一个单词。我使用了这个函数:

function mradef($text)
{
    global $db;
    $text = trim($text);
    $word = explode(" ", $text);
    $finalword='';
    foreach($word as $words) {
        $q = $db->query("select simple_id,name,synonym from simple where name='$words'");
        while($t = $db->fetch($q)){
            $finalword .= str_replace($words, 
                                  '<b>' . $t['synonym'] . '( ' . $words . ' )</b>', 
                                  ' ' . $text . ' ');

            return $finalword;
        }
    }
}

$amer = 'hello my name is Amer and I am a php programmer';
echo mradef($amer);
但代码不起作用。您需要做的就是让代码将字符串中的任何单词从数据库中更改为(同义词)。

此行:

return $finalword;
应该在
foreach
循环之外,这是您的错误

此外,数据库中未找到的所有单词都不会附加到
$finalword
中。要添加它们,请添加一个条件(如果没有任何mysql结果)并添加单词而不做任何更改

return $finalword;