0

我想对 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()and preg_match(), 我猜流程可能是这样的:-

1)使用explode()函数通过###$data切入一个新的;$data_array

2) 检查$data_arrayis in_array()of中的值$replacement_array

3)如果in_array(),执行str_replace();(在上面的例子中会有2次)

4)$data进行了2次内容替换,可以使用了。

如果上面的步骤3)和4)一步一步进行,我会很容易,但是,如果我想在1次内完成,我应该怎么处理呢?

4

1 回答 1

4

您可以将str_replace与第一个参数用作搜索数组,将第二个参数用作替换数组。

$arr = array("###123###","###456###","###789###");
$arr1 = array("hello","great","ok");
str_replace($arr,$arr1, $data);
于 2013-07-19T04:09:25.120 回答