2014-02-12 64 views
0

我總小白,如果涉及到PHP所以在此先感謝理解。PHP腳本來讀取文本文件,並突出顯示短語它

我的目標是特定的字符串從文本文件導出到一個網頁,突出色彩的短語搜索(紅色粗體,如果這句話是失敗和大膽的綠色,如果這句話是SUCCESS)。

文件:

SERVER:拱Linux的SCHEDULED_TASK:SendFilesToValidate成功(0)

打印出的文件中的一些代碼:

<?php 
$file = fopen("FINE.TXT","r"); 

while(! feof($file)) 
{ 
    $file .= fgets($file). "<br />"; 
    $body_text= $file ; 
    $searh_letter = 'FAILED'; 
    echo fgets($file). "<br />"; 
    echo ''; 
} 

正如你可以看到我正在努力將預定任務的結果導出到文本文件,然後導出到網頁。我應該如何解決以實現預期的工作?

回答

0

這讓你失敗或成功的第一次出現。

$fileContent = file_get_contents("FINE.TXT"); 
if (($pos = strpos("FAIL", $fileContent)) !== false) { 
    echo "<p class='fail'>".substr($fileContent, $pos, 4)."</p>"; 
} elseif (($pos = strpos("SUCCESS", $fileContent)) !== false) { 
    echo "<p class='success'>".substr($fileContent, $pos, 7)."</p>"; 
} else { 
    echo "phrase not found"; 
} 

如果失敗或成功可以在您的TXT文件的每一行出現,使用方法:

$file = file("FINE.TXT"); 
foreach ($file as $line) { 
    if (($pos = strpos("FAIL", $line)) !== false) { 
     echo "<p class='fail'>".substr($line, $pos, 4)."</p>"; 
    } elseif (($pos = strpos("SUCCESS", $line)) !== false) { 
     echo "<p class='success'>".substr($line, $pos, 7)."</p>"; 
    } 
} 
+0

更新:我沒有得到任何來自所有回答的建議輸出,還有什麼能錯了嗎? – user3303658

+0

更新:這一個工程,我無法得到它的行打印出來的輸出線...... – user3303658

0

這是一個非常簡單的方法來做到這一點。
但請注意PHP是區分大小寫的!

「成功」= 「SUCCESS」

$content = file_get_contents("FINE.TXT"); 
$content = str_replace("Success", '<span style="font-weigt: bold; color: green; ">Success</span>', $content); 
$content = str_replace("Failed", '<span style="font-weigt: bold; color: red; ">Failed</span>', $content); 
echo $content; 
+0

更新:我沒有得到任何來自所有回答的建議輸出,還有什麼能錯了嗎? – user3303658

+0

更新:這一個工程,我不能得到輸出成爲行順序的打印機... – user3303658

0

最佳solutin恕我直言:

<?php 

$內容=的file_get_contents( 「file.txt的」); $ content = str_replace(「Succeded」,'SUCCEEDED(0)',$ content); $ content = str_replace(「Failed」,'FAILED - PLEASE INVESTIGATE',$ content); $ content = str_replace(「SERVER:」,'SERVER>',$ content); $ content = str_replace(「TASK:」,'TASK_NAME =',$ content); $含量= str_replace函數( 「SERVERNAMED @ AD」, '@ SERVERNAMED AD \',$內容); $含量= str_replace函數( 「SERVERNAMED @ AD」, '@ SERVERNAMED AD \',$內容); echo nl2br($ content); < <這一行行做了......

>