textarea leerraum am Anfang

EuroCent

Klappstuhl 2.0
Hallo zusammen,

ich habe folgendes Phänomen:
In einem Textarea lasse Ich Quellcode anzeigen:
Allerdings habe Ich in der ersten Zeile einen Leerraum von ca. 32 Zeichen.
Sie sind aber in der Datei gar nicht vorhanden.

Beispiel wie es in der Datei aussieht:
PHP:
<?php
    $test = "Hallo Welt";
    echo $test;
?>

In der Textarea sieht es dann so aus:
PHP:
                                <?php
    $test = "Hallo Welt";
    echo $test;
?>

Ich habe es schon getrimmt.

PHP:
<?php
if (file_exists($this->pagesPath."/".strtolower($filename) . ".php")) :
    $filename = $this->pagesPath."/".strtolower($filename) . ".php";
    if(false !== ($handle = fopen($filename, "r"))) :
        return trim(htmlspecialchars(file_get_contents($filename)));
    else:
        return "ERROR";
    endif;
endif;
?>

Weiß hier jemand die Lösung?
Liegt es eventuell am "htmlspecialchars"?
 
Lösung
Ohne es getestet zu haben , versuche es doch mal so
Code:
<div class="cols-1">
    <h1>Edit Page: <?= ucfirst($editPages) ?></h1>
    <textarea id='lineCounter' wrap="off" readonly>1.</textarea>
    <textarea id="page-content" wrap="on" name="page-content" class="page-content"><?= $_pages->readFile($editPages) ?></textarea>
</div>

Ich teste es aber auch mal genauer
Ein Gedanke wäre das am Anfang ein BOM eingefügt wurde in die Datei Das BOM (byte-order mark) in HTML
Im Beitrag 3 sieht man im Bild das den Inhalt der Datei darstellt 2 Knoten die man auf einklappen kann.
die <php> Tags werden ja oft auch mitten in die HTML Domelemente eingebettet.
Möglicherweise wurde ein Textknoten bestehend aus Leerzeichen (Zeileneinrückung) mit in die Datei kopiert welche aber dein Texteditor ignoriert, also die du so nicht siehst?

Wäre von Vorteil die Datei mal hochzuladen dann kann man die sich mal anschauen.
 
Hier der Code zu den Textareas :)

PHP:
<div class="cols-1">
    <h1>Edit Page: <?= ucfirst($editPages) ?></h1>
    <textarea id='lineCounter' wrap="off" readonly>1.</textarea>
    <textarea id="page-content" wrap="on" name="page-content" class="page-content">
        <?= $_pages->readFile($editPages) ?>
    </textarea>
</div>

Funktion der ReadFile:
PHP:
    public function readFile(string $filename): string {
        if (file_exists($this->pagesPath."/".strtolower($filename) . ".php")) :
            $filename = $this->pagesPath."/".strtolower($filename) . ".php";
            if(false !== ($handle = fopen($filename, "r"))) :
                return trim(htmlspecialchars(file_get_contents($filename)));
            else:
                return "ERROR";
            endif;
        endif;

        return "ERROR";
    }
 

Anhänge

Ohne es getestet zu haben , versuche es doch mal so
Code:
<div class="cols-1">
    <h1>Edit Page: <?= ucfirst($editPages) ?></h1>
    <textarea id='lineCounter' wrap="off" readonly>1.</textarea>
    <textarea id="page-content" wrap="on" name="page-content" class="page-content"><?= $_pages->readFile($editPages) ?></textarea>
</div>

Ich teste es aber auch mal genauer
 
Lösung
Ohne es getestet zu haben , versuche es doch mal so
Code:
<div class="cols-1">
    <h1>Edit Page: <?= ucfirst($editPages) ?></h1>
    <textarea id='lineCounter' wrap="off" readonly>1.</textarea>
    <textarea id="page-content" wrap="on" name="page-content" class="page-content"><?= $_pages->readFile($editPages) ?></textarea>
</div>

Ich teste es aber auch mal genauer
Komisch, dass er die Umbrüche automatisch als Leerzeichen setzt oO
Das ist ja voll Dumm :D

Aber glaube das war genau das Problem. :)
 
lol ach das Problem.. haha omg das hätte ich gleich wissen müssen. :D
Ja Textareas haben dieses seltsame Verhalten.
 
Dumm ist, dass du uns den Quellcode mit der Textarea nicht sofort gepostest hast, denn dann hätten wir den Fehler sofort gesehen.
Naja, Ja das stimmt :D
Daran hab Ich aber null gedacht. :)
Aber wenn man von Textarea spricht, dann hätte man mich direkt darauf hinweisen können :)
Denn dass die Textarea immer noch in Zeiten von HTML5 solch ein Verhalten vorlegt, war mir nicht bewusst.
War der Meinung dass das damit behoben wäre :D

Aber egal :)
Jetzt weiß Ich es, mal wieder :D
 
Zurück