我想在php文件中执行从mysql db调用的一些数据的大量内容替换。
首先,我为内容替换准备了一个替换数组: -
$replacement_array = array(
"###123###" => "hello",
"###456###" => "great",
"###789###" => "ok"
);
其次,我从mysql db调用数据,数据看起来像这样: -
$data = "<input type="text" name="field1" value="###123###"><input type="text" name="field2" value="###789###">";
第三,参考数组,检查$data
是否包含$replacement_array
中的任何匹配值(这是我想咨询的黑框)。
第四,在更换内容后,生成的$data
将成为: -
$data = "<input type="text" name="field1" value="hello"><input type="text" name="field2" value="ok">";
我猜以上内容将涉及php in_array()
,str_replace()
和preg_match()
,我猜这个流程可能是这样的: -
1)使用explode()
功能将$data
切换为新的$data_array
###;
2)$data_array
中in_array()
$replacement_array
的{{1}}检查值
3)如果in_array()
,请执行str_replace();
(在上面的例子中会有2次)
4)$data
已经进行了2次内容替换,并准备好使用。
如果上述步骤3)和4)是逐步进行的,我会很容易,但是,如果我希望一次性完成,我该如何处理呢?
答案 0 :(得分:4)
您可以将str_replace与第一个参数一起用作搜索数组,将第二个参数用作替换数组。
$arr = array("###123###","###456###","###789###");
$arr1 = array("hello","great","ok");
str_replace($arr,$arr1, $data);