0

我不确定这是否可以用 preg_replace 来完成,但这就是我目前所拥有的

$string='
<div class="row">
  <section> [1] </section>
  <section> [2] </section>
  <section> [5] </section>
</div>';


function searchArray($myarray, $id) {
    foreach ($myarray as $item) {
        if ($item[$id] == $id)
            return $item['name'];
    }
    return false;
}

所以我需要通过 preg_replace 运行 $string ,其中 [] 之间的每个 var 将对应于存储在多维数组中的实际 id。这就是函数 searchArray() 的用武之地。基本上运行字符串,将 [] 替换为实际 id 并打印字段名称。当我一次性提交表单时,所有这些都需要发生。

4

1 回答 1

1

像这样的东西作为 *preg_replace* 的替代品怎么样?

$arr = array('apple', 'pear', 'bananna', 'orange', 'grapefruit', 'pineapple');
$string='
<div class="row">
  <section> [1] </section>
  <section> [2] </section>
  <section> [5] </section>
</div>';

foreach($arr as $key => $value){
    $string = str_replace($key, $value, $string);
}

更新

$arr = array(
    array('id'=>1, 'name'=>'matthew'),
    array('id'=>2, 'name'=>'william'),
    array('id'=>3, 'name'=>'john'),
    array('id'=>4, 'name'=>'george'),
    array('id'=>5, 'name'=>'henry'),
    array('id'=>6, 'name'=>'jason')
);
$string='
<div class="row">
  <section> [1] </section>
  <section> [2] </section>
  <section> [4] </section>
    <section> [1] </section>
</div>';
foreach($arr as $key => $subArr){
    $string = str_replace("[".$subArr['id']."]", $subArr['name'], $string);
}
于 2013-07-11T21:05:09.990 回答