我得到了这个简单的东西,它基本上是有效的,但有一些关于它的东西听起来不对,所以我得到了这个:
$text = $_GET['text'];
$sitechoose=mysql_query("SELECT * FROM site");
while($change=mysql_fetch_array($sitechoose)) {
$o = $change['original'];
$r = $change['changed'];
$messages = str_replace($o, $r, $text);
}
echo messages;
所以替换的东西有效,但只替换了最后一个数据库结果的$ o和$ r,任何想法为什么?谢谢!
编辑: $ text应该是微笑/坏词等... 虽然在mysql表中原来会是笑脸:) amd改变了会是
答案 0 :(得分:0)
目前,您的$messages
变量是一个简单的字符串。你需要使$messages
成为一个数组。你的代码应该是这样的:
$text = $_GET['text'];
$sitechoose = mysql_query("SELECT * FROM site");
$messages = array();
while ($change = mysql_fetch_array($sitechoose)) {
$o = $change['original'];
$r = $change['changed'];
$messages[] = str_replace($o, $r, $text);
}
echo $messages;
分配给$messages[]
会将新元素推送到数组的末尾。