我正在尝试创建一个旋转器函数来旋转字符串,并替换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);我的表(简单)包含这些行
name | synonym
--------------
hello | hi
programmer | web programmer但是代码不起作用。您所需要做的就是使代码将字符串中的任何单词更改为数据库中的(同义词)。
发布于 2012-12-22 19:34:42
这一行:
return $finalword;应该在foreach循环之外,这就是你的错误。
此外,在数据库中找不到的所有单词都不会附加到$finalword中。要添加它们,请添加一个条件(如果没有任何mysql结果),并附加没有更改的单词。
https://stackoverflow.com/questions/14002437
复制相似问题