a.txt 里面的文字是 [内容][内容][内容][内容]b.txt 里面的文字是:这个是内容1这个是内容2这个是内容3这个是内容4这里面的字符串都是不确定的我想获取a.txt里面[内容]的个数和b.txt里面的行数,然后逐个替换成b.txt中的随机一行。请写下详细的代码 谢谢!我的代码是:
<?php
$gjz = file("gjz.txt");
$wz = file("wz.txt");
$wz_x = count($wz)-1;
$mb = file_get_contents("mb.txt");
$find_w = "/\[内容\]/";
if(preg_match($find_w,$mb,$arr)){
$wz_a = rand(0,$wz_x);
echo preg_replace($find_w,$wz[$wz_a],$mb);
}else{
echo "失败";
}?>但输出的结果每个[内容]都是一样的:这个是内容3这个是内容3这个是内容3这个是内容3我希望是随即b.txt里面的内容

解决方案 »

  1.   

    $find_w = "/\[内容\]/";
    if(preg_match($find_w,$mb,$arr)){
    $wz_a = rand(0,$wz_x);
    echo preg_replace($find_w,$wz[$wz_a],$mb);改为
    $find_w = "/\[内容\]/";
    do {
      $old = $mb;
      $wz_a = rand(0, $wz_x);
      $mb = preg_replace($find_w, $wz[$wz_a], $mb, 1);
    }while($old != $mb);
    echo  $mb;
      

  2.   


    谢谢 我按照你的方法改了  请问我要怎么替换掉 a.txt里面的内容为随机出来的
      

  3.   

    用fwrite 把内容放回去 文件就好了