【发布时间】:2017-05-16 12:23:23
【问题描述】:
我有一个非常基本的字符串“过滤器”,根据数组内容删除单词。
$delete = array("bad", "words", "delete");
$string= str_replace($delete , '', $string);
这行得通,没问题,但我想让它基于数据库创建一个 $delete2 数组。这就是我所拥有的:
$delete2= array();
$res=mysql_query("SELECT * FROM words WHERE type='delete' ");
while($row = mysql_fetch_array($res)){
$delete2[] = $row['delete'];
}
现在如果我输出这段代码:
$delete = array("bad", "words", "delete");
$string= str_replace($delete , '', $string);
$string= str_replace($delete2 , '', $string);
第二个 str_replace 不会替换任何东西。我错过了什么?谢谢!
【问题讨论】:
-
您确定
$delete2不为空/包含您想要的数据吗? -
@AntonisTsimourtos:
str_replace可以接受用于搜索和替换参数的数组。见this -
只打印 delete2 并显示结构
-
@SloanThrasher 谢谢,这是我的错误,检查一下!
-
第二个 str_replace 正在处理已处理的 $string。在您的代码中,使用两个替换,将其分配给不同的变量。第一个喜欢
$str_result1 = ...。
标签: php mysql arrays str-replace