Falsche Darstellung von Quellcode ?

  • Mahlzeit,

    ich habe ein PHP-Script, welches eine Textdatei (ca. 2000) zeilenweise ausliest und hinschreibt.
    In der Datei ist in jeder Zeile Text markiert:

    Code
    TEXT <span style='color: red';'> RESULT </span>TEXT

    .
    Jetzt habe ich das Phänomen, dass ca. ab Zeile 500 der markierte Text kurz vor dem Ende der Zeile erscheint und nicht dort wo er hingehört.

    Schaue ich mir den generierten HTML-Code an ist dieser allerdings korrekt!

    Hatte jemand schonmal das gleiche Problem bzw. weiß woran es liegen könnte?

  • Wie wird der Text 'hingeschrieben'? ... mit echo ?
    Poste doch die entsprechenden PHP Schleife, die die Ausgabe erzeugt - vielleicht erkennt man dann eher, wo das Problem sein könnte.

    if(!sleep)

    {$sheep++;}

  • Wenn es x mal richtig funktioniert und dann irgendwann fehlerhaft angezeigt wird, könnte es ein Problem mit deinem Textfile geben.. zB dass dort irgendwelche Steuerzeichen enthalten sind, die man nicht sieht, die aber die Ausgabe beeinflussen.
    Teste mal, ob dieser Code eine Verbesserung bringt?

    PHP
    $file = 'dir/file';
            $file_handle = fopen($file, 'r');
    
    
            while (!feof($file_handle)) {
                $line = trim(fgets($file_handle));
                echo $line.'<br>\n';
                }
    
            fclose($file_handle);


    Das 'trim...' (https://www.php.net/manual/de/function.trim.php) sollte bewirken, dass Leer- und Steuerzeichen am Anfang und Ende deiner eingelesenen Textzeile entfernt werden - und weil der Test dann 'nackig' ist müssen die gewollten Steuerzeichen '<br>\n' bei der Ausgabe wieder hinzugefügt werden. Wobei das '<br>' bei der Bildschirmausgabe eine Zeilenumbruch erzeugt und das '\n' sich nur auf die Anzeige in der Quellcodeansicht auswirkt.
    Viel Erfolg!

    if(!sleep)

    {$sheep++;}