Autor Zpráva
DarkMeni
Profil
Zdravím, už zase mám problém s vykreslováním, tentokrát zdrojového kódu, takže mi to ignoruje znaky \n které by měli zlomit řádky a aby toho nebylo málo tak mi to vesele vypíše obsah css souboru přímo do něj než aby to napsalo link jak to mam v originále:
(místo "<link rel='stylesheet' type='text/css' href='style.css' /> mi to vykreslí "<style type='text/css'>Obsah souboru style.css</style>")
Kdyžtak kódování mam ve všech souborech ANSI as UTF-8 (UTF-8 bez BOM) a typ zalomování řádků jako Dos/Windows.
Je možné že by to bylo kvůli output bufferingu?
Používám Output Buffering pro zachycení obsahů a potom je necham vypsat funkcí která k nim už přidá značky doctypu, html, hlavičku a body.
Věděl by teda někdo co mam změnit aby jsem měl zdrojový kód v pořádku vykreslený se zlomy řádků a bez vypisování obsahů stylů?
Zechy
Profil
Záleží pro jaký zalomení řádků to používáš, \n zalomí řádky pouze ve zdrojovým kodu nikoli na stránce.
Tori
Profil
DarkMeni:
Nepoužívá se ve Windows pro konec řádku CR+LF = \r\n? V PHP je jinak konstanta PHP_EOL.
Nox
Profil
To vkládání je hloupost, pokud si to nějak neděláš ve vlastní aplikaci, což asi ne... jsi si jistý že se díváš na aktuální verzi (upload, refresh...) ?
DarkMeni
Profil
Jaké vkládání?
To že se dívám na aktuální verzi jsem si jistý.
A píšu to v Notepadu++ a tam mam EOL jen na Dos/Windows, UNIX a MAC, co mam vybrat?
(Stránka se zobrazí jak má ale jen zlobí ten zdrojový kód, který chci aby se normálně zobrazil aby jsem v tom měl pořádek a líp by sem pak opravoval chyby HTML.)
Ten zdroják se mi dobře zobrazí jen v případě že před doctype dám nějaký znak který není špičatá závorka, a zajímavý je že to mam takle jen u už vytvořených souborů, kdyby jsem vytvořil nějaký nový soubor a dal tam stejné kódování a všechno tak se to stejně do zdrojáku vypíše se zlomy řádků i bez nějakého znaku před kódem.
Tori
Profil
DarkMeni:
chci aby se normálně zobrazil aby jsem v tom měl pořádek a líp by sem pak opravoval chyby HTML
Tak jestli je tohle jediný nebo hlavní důvod, tak bych s tím neztrácela čas, a prohlížela HTML ne funkcí "Zobrazit zdroj", ale Firebugem (nebo jeho alternativou v jiných prohlížečích). Tyhle nástroje to pěkně poodsazují, barevně zvýrazní, mají sbalování/rozbalování prvků,... pohodlnější, ne?
DarkMeni
Profil
O Firebugu jsem nevěděl, ale jestli existuje a tohle dokáže tak děkuju za radu =)
Zechy
Profil
Tori:
Tyhle nástroje to pěkně poodsazují, barevně zvýrazní, mají sbalování/rozbalování prvků
To mi zvládne firefox, opera i chrome bez firebugu :)
DarkMeni
Profil
Zechy:
To mi zvládne firefox, opera i chrome bez firebugu :)
Jestli tím myslíš že když si zobrazíš zdroják tak to máš vybarvené a odsazené tak to máš kvůli tomu že v originále to je tak odsazené, mě jde ale o to odsazení a zlomení řádků, které se mi kvůli něčemu při kecání serveru s prohlížečem nějak pokazí a ve výsledku je stránka vykreslená sice dobře ale ve zdrojáku mam hroznej bordel.
Tori
Profil
Zechy:
Nehádám se. Šlo mi spíš o to, jestli DarkMeni řeší zalamování řádků jen kvůli zpřehlednění kódu nebo i něčemu jinému.
DarkMeni
Profil
Tori:
něčemu jinému.
Taky i ze zvědavosti, proč se mi to nezlomí když narazí na "\n".
Zechy
Profil
Tori:
Nehádám se.
Já taky ne, jen dodávám aby si třeba nemyslel, že to prostě jinak nejde :)
YoSarin
Profil
DarkMeni:
ve zdrojáku mam hroznej bordel
Tak to nevím jestli ti FireBug nějak výrazně pomůže - trpí totiž jednou "nepříjemnou" vlastností - ne nutně ti zobrazí přesně kód, který na stránce je - zobrazí ho tak, jak ho chápe prohlížeč. Pro představu viz třeba tady.
Kód který zobrazí Firebug:
<html>
  <head></head>
  <body>
    <table>
      <tbody> </tbody>
      <tbody>
        <tr>
          <td>A</td>
        </tr>
      </tbody>
      <tbody>
        <tr>
          <td>B</td>
        </tr>
      </tbody>
    </table>
  </body>
</html>

Kód který na stránce skutečně je:
<table>
	<tbody>
		<tbody>
			<tr><td>A</td></tr>
		</tbody>
		<tr><td>B</td></tr>
	</tbody>
</table>

Což se ti hodí jen v případě, že jsi schopný dohledat rozdíl mezi tím co vidí FB a tím co máš v kódu (a to u zpraseného html nemusí být žádná sranda)
DarkMeni
Profil
To že to poodsazuje až tak podrobně je spíš lepší, dobře se v tom pak vyznám, ale furt nevim proč kód který v php skriptu vypadá takto:
echo "<!DOCTYPE html>\n"
  ."<html>\n"
  ."<head>\n"
  ."<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />\n"
  ."<title>".title."</title>\n"
  ."</head>\n";
  //Title je definovaná konstanta a pak mam podmínku která kdyby náhodou title nebylo definovaný tak mu nějakou hodnotu vymyslí

Se ve zdrojovém kódě který si nechám zobrazit ukáže jako:
<!DOCTYPE html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /><title>Něco</title></head>

I přes to že tam ty "\n" které to mají zalomit jsou.
Udělal jsem malý průzkum a můj web není jediný který to tak má, třeba i tady je ten kód takle, ale jsou i weby kterým se to do zdrojáku vypíše s zalomením a odsazením.
A zajímavý je že když před první znak který by v platném HTML kódě měl být "<" (ten "zobáček") dám jiný znak, třeba tečku tak se to vypíše po aktualizaci jak má i s zalomením a odsazením, ale ten znak nesmí být právě ten "zobáček", jinak se to zase nějak pokazí.
Pak je problém že se mi ta tečka ukáže i ve výsledku stránky což není pěkný a skrýt ji nemůžu protože by jsem na to potřeboval nějakou HTML značku, třeba div a ten musí začínat tím "zobáčkem"

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0