大量内容取代php数据

时间:2013-07-19 04:05:50

标签: php

我想在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_arrayin_array() $replacement_array的{​​{1}}检查值

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

4)$data已经进行了2次内容替换,并准备好使用。

如果上述步骤3)和4)是逐步进行的,我会很容易,但是,如果我希望一次性完成,我该如何处理呢?

1 个答案:

答案 0 :(得分:4)

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

$arr = array("###123###","###456###","###789###");
$arr1 = array("hello","great","ok");
str_replace($arr,$arr1, $data);