• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

highlight_file() mit Zeilenangabe

J

j-l-n

Guest
Folgenden Code-Schnipsel benutze ich, um EIB Skript mit Syntaxhighlighting und Zeilennummern auszugeben:
PHP:
function highlight_file_with_line_numbers($file) { 
          //Strip code and first span
        $code = substr(highlight_file($file, true), 36, -15);
        //Split lines
        $lines = explode('<br />', $code);
        //Count
        $lineCount = count($lines);
        //Calc pad length
        $padLength = strlen($lineCount);
        
        //Re-Print the code and span again
        echo "<code><span style=\"color: #000000\">";
        
        //Loop lines
        foreach($lines as $i => $line) {
            //Create line number
            $lineNumber = str_pad($i + 1,  $padLength, '0', STR_PAD_LEFT);
            //Print line
            echo sprintf('<br><span style="color: #999999">%s | </span>%s', $lineNumber, $line);
        }
        
        //Close span
        echo "</span></code>";
    }
Nun tritt allerdings bei einigen Zeilen der Fehler auf, dass diese in den Rand mit der Zeilenangabe hineingeschoben sind: Code-Highlighting Test
 
Hab's gerade nochmal ausprobiert: das scheint irgendwie damit zusammenzuhängen, wie groß das Browserfenster ist. In z.B. Zeile 015 müsstest du den Fehler eigentlich erkennen können.
 
Wie wäre es wenn du für das äusserste <span>-Element ein nowrap machst?
PHP:
//Re-Print the code and span again
echo "<code><span style=\"color: #000000; white-space: nowrap;\">";
 
Zurück
Oben