file_get_contents("templates/view.tpl");读取这个模板文件,里面有预先设置好的多个{link}标记我想把这些{link}标记替换成随机数字
不是那种先得到一个随机数字然后再全部替换,这样结果所有的{link}标记都是同样一个数字而是每个{link}都是一个新的随机数字像这样
21321
22323
23623
57345

解决方案 »

  1.   

    $s =<<< TXT
    {link} {link} {link} {link} {link} {link} {link}
    {link} {link} {link} {link} {link} {link} {link}
    TXT;
    echo preg_replace('/{link}/se', 'rand(2000,5000)', $s);2620 3963 3409 3393 4372 4574 4889
    2805 2743 2670 2377 2281 2138 4535
      

  2.   

    我想那就得替换了吧:$text = file_get_contents("templates/view.tpl");while (preg_match('/\{link\}/i', $text)) {
      $step = mt_rand(10000, 99999);
      $text = str_replace('{link}', $step, $text);
      unset($step);
    }因为是一一把{}替换掉了所以,随机数每个都是新的,也不会死循环。
      

  3.   

    唠叨的更简洁:$text = file_get_contents("templates/view.tpl");
    echo preg_replace('/\{link\}/ise', 'rand(2000,5000)', $text);