在PHP中使用ereg_replace?

时间:2009-04-12 06:45:38

标签: php regex

如何使用以下代码替换?

ereg_replace("%Data_Index\[.\]%", $this->resultGData[$key ][\\1], $var)

我想替换[] %Data_Index中的数字 至$this->resultGData[$key ][\\1]%Data_Index
以及如何ex %Data_Index[1] = $this->resultGData[$key][1], $var);

替换%Data_Index[...........][]的号码 到$this->resultGData[$key ][............] 相同的数字

2 个答案:

答案 0 :(得分:4)

使用preg_replace() function代替e modifier

preg_replace('/%Data_Index\[(\d+)\]%/e', '$this->resultGData[$key][\1]', $var);

请注意,此函数使用Perl-compatible regular expressions而不是POSIX扩展的正则表达式。

答案 1 :(得分:-2)

你的问题有点难以理解

替换你所要求的最聪明的方法我相信会使用一个循环

例如,如果您知道$ this-> resultGData [$ key] []上有10个元素,您可以简单地执行此操作,假设%Data_Index [1](您确定它不是$ Data_Index吗?i我会认为你可以尝试以下

$total = count($this->resultGData[$key ]);  //we get the total of elements in that key

for($i=0;$i<$total;$i++)
{
  $Data_Index[$i] = $this->resultGData[$key][$i];
}

现在如果$ key改变了,你需要为每个$ key执行此操作:)

继续练习你的英语,它在IT领域是一个非常有用的工具:)(不是我非常擅长它:P)