2012-05-13 29 views
0

我新在PHP.I已經JS文件看起來像添加或Repalce文本在PHP

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網站= [或任何行之後添加文本使用PHP怎麼能在4行說我們添加。這裏是我在任何行上替換文本的代碼。

$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); 

此代碼無法正常工作。

回答

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插入「測試」使用這樣的功能:array_insert($array, 4, "Test")

我沒有測試過,但它應該工作。

+0

:file_put_content也自動保存文件? – Arpit

+0

file_put_contents將寫入文件。 (請參閱我編輯的帖子)如此回答,是的 – dukevin

+0

好的我會測試你的代碼。希望它有效:) – Arpit