我正在使用这个 AJAX Logfile Tailer & Viewer:http ://commavee.com/2007/04/13/ajax-logfile-tailer-viewer/它运行良好,但在显示日志的页面上却不是过滤任何特殊字符,使其看起来很乱。我正在尝试修改 logtail.php 文件以清除特殊字符,但无法使其正常工作。
这是原始的 logtail.php 文件:
<?
// logtail.php
$cmd = "tail -50 /home/user/logfile.log";
exec("$cmd 2>&1", $output);
foreach($output as $outputline) {
echo ("$outputline\n");
}
?>
这是我修改后的 logtail.php 文件,我试图从中清除特殊字符:
<?php
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL);
$cmd = "tail -50 /home/user/logfile.log";
exec("$cmd 2>&1", $output);
foreach($output as $outputline) {
exec('sed -r '.escapeshellarg("s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g").' $output');
echo ("$outputline\n");
}
?>
更新:我认为这应该取原始输出,清除特殊字符,然后输出清除后的文本,但它不起作用,因为我仍然看到这样的垃圾:
[0;35;1m[something] text here[m
[something] 部分很好,但 [0;35;1m ... [m 需要去。