echo - andar a capo nel codice html generato dal server

  • Creatore Discussione Creatore Discussione luigi777
  • Data di inizio Data di inizio

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve, non so come mai mi genera tutto cosi:

Codice:
<div id="content-full-width"><div id="f"><div id="pages">

il codice in questione è cosi:
PHP:
<?php
include('inc.php');
$title ="Home";
include(''.$theme.'header.php');
echo '<div id="content-full-width">';
echo '<div id="f">';
echo '<div id="pages">';
include("start/index.php");
echo '</div>';
echo '</div>';
echo '</div>';
include(''.$theme.'footer.php');
?>

mi sono fatto un cms e un framework css mini.

però ora vorrei che quando genera la pagina in html vista dal codice sorgente del browser mi andasse a capo il codice.

idea?

EDIT: ho provato anche cosi "\n"; ma mi stampa la n nella pagina.


grazie mille.
 
Ultima modifica:
Teoricamente è giusto, qui puoi intervenire in diversi modi:

- Per andare a capo usa \r\n se lo scrivi fuori dall' html
- Puoi inserire anche un semplice <br /> nell'html così per intenderci:
PHP:
echo '<div id="content-full-width"><br />';

Oppure con i css..
 
Ciao, il carattere speciale di ritorno a capo può differire a seconda del sistema operativo, quindi può essere \n (propriamente new line o line feed), \r (carriage return), oppure la combinazione tra i due \r\n (come accennato da otto9due).

Ad ogni modo devi tenere ben presente che in PHP, per interpretare correttamente i caratteri con l'escape, bisogna usare i doppi apici e non quelli singoli. Suppongo che il problema sia proprio questo dal momento che non viene eseguito l'escaping perché, da quanto dici, i caratteri sono stampati a video così come sono scritti.

In alternativa puoi usare la costante PHP_EOL, che restituisce il carattere di "fine riga" appropriato per la piattaforma su cui sta girando il tuo script.

In alcuni casi potresti avere necessità di usare la funzione chr(), dove chr(13) restituisce praticamente il carattere "\r" e chr(10) il carattere "\n".

Infine potresti semplicemente andare a capo all'interno della stringa nell'echo, cioè interrompere fisicamente la stringa nel tuo codice PHP. Per cui l'interprete PHP restituirà le stesse interruzioni anche nel codice in uscita.

Esempio con i vari sistemi:
PHP:
<?php
echo "<div id=\"content-full-width\">";
echo "\n<div id=\"f\">";
echo "\r".'<div id="pages">';
echo "\r\n<div>testo</div>
<div>
nuova riga
e ancora un'altra
</div>";

echo PHP_EOL .'</div>';
echo chr(13)."</div>";

$r ="\r\n";
echo "$r</div>";
?>
 

Discussioni simili