0

私はPHPが初めてです.jsファイルは次のようになっています

   var sites = [
 //Texte anime
  {url:" http://carouselinfo.com/canal/", duration:9},
 //Texte anime
  {url:" http://carouselinfo.com/canal-2/", duration:9}, 
  //Intro detallee
 {url:"http://carouselinfo.com/index-t1.html", duration:35},
 //CTA
 {url:"http://carouselinfo.com/index-t2.html", duration:35},

 //Football
  {url:"http://carouselinfo.com/twitter-ligue/", duration:100},


 //Texte anime
  {url:" http://carouselinfo.com/canal-2/", duration:9}, 

  //TrailersClub.com
  {url:"http://trailersclub.com/?lang=fr", duration:480},

 //Heure
 {url:"http://carouselinfo.com/heure", duration:8},
 //Meteo
 {url:"http://carouselinfo.com/meteo", duration:12},
 //Texte anime
  {url:" http://carouselinfo.com/canal-cine/", duration:9},
 //Cine
 {url:"http://carouselinfo.com/cine/index-t1.html", duration:150},
  //Texte anime
  {url:" http://carouselinfo.com/canal-2/", duration:9}, 
 //Heure
 {url:"http://carouselinfo.com/heure", duration:8},
   ];

var site=[ の後にテキストを追加したい、またはphpを使用して4行で言う任意の行を追加したいので、どのように追加できますか.Hereは任意の行のテキストを置き換える私のコードです.

$lines = array();
foreach( file('source.js') as $line ) {
  if ( 'var site=[' === $line ) {
    array_push($lines, 'test');
  }
  array_push($lines, $line);
}

file_put_contents('source.js', $lines);

このコードはうまくいきません。

4

1 に答える 1

0

それがあなたがやろうとしていることであれば、これはあなたのファイルに追加されます。

<?
$file = "/path/to/file.js";
$lines = file($file);
$lines[] = "test\n";
file_put_contents($file, $lines);
?>

その場所のテキストを置き換えたい場合は、

foreach($lines as $i => $line)
{
   if($line == "text to replace")
      $lines[$i] = "replacement";
}

4 行目に新しいリンクを配置する場合は、配列を右にシフトし、配列の位置 3 に書き込みます ( $lines[3])。または、私の機能を使用できます:

function array_insert($array, $index, $value) //assumes all keys are ints
{
   for($i=sizeof($array); $i < $index ; $i--)
      $array[$i+1] = $array[$i];
   $array[$index]  = $value;
}

インデックス 4 に「test」を挿入する場合は、次のような関数を使用します。array_insert($array, 4, "Test")

私はテストしていませんが、動作するはずです。

于 2012-05-13T06:56:28.257 に答える