code tussen <pre>

Status
Niet open voor verdere reacties.

Frenske123

Terugkerende gebruiker
Lid geworden
2 jul 2007
Berichten
1.260
Hallo


Ik zet wat php code tussen de <pre></pre>
maar is niet wat ik verwacht , o.a echo "<body>"; wordt niet weergegeven

Code:
<body>
 <pre>
echo "<body>";
include("../inc/menu-nl.php");
	(empty($template['bgimage'])) ? $indexBody = "
 </pre>
 
      <pre>
echo "<body>";
include("../inc/menu-nl.php");
	(empty($template['bgimage'])) ? $indexBody = "	
</pre>


</body>
</html>
 
Omdat je <body> en de rest van de HTML-reut niet onschadelijk hebt gemaakt.
Nu probeert hij die gewoon uit te voeren.

Dus dat wordt dan: &lt;body&gt;
 
Laatst bewerkt:
Ik begrijp dat van die body tag

Maar ik wil de code juist niet veranderen daarom zet ik het tussen <pre>

(plaats code in een help bestand )


HTML:
echo "<body>";
include("../inc/menu-nl.php");
	(empty($template['bgimage'])) ? $indexBody = "
 </pre>

Hierboven lukt het wel op forum en staat het ook tussen <pre> , de body wordt gewoon als tekst weergeven.
 
Laatst bewerkt:
Wat wil je nu precies bereiken?

- PHP-code als rauwe tekst outputten? Om het op je site als voorbeeld te laten zien tussen <pre>-tags?
- Of wil je PHP uitvoeren?

Bovendien worden entities binnen een <pre> gewoon weer netjes vertaald naar het teken.
 
Laatst bewerkt:
- PHP-code als rauwe tekst outputten? Om het op je site als voorbeeld te laten zien tussen <pre>-tags?


Ik heb een help bestand en daar wil ik wat code inzetten als voorbeeld.

Doe het meestal met kladblok maar dat is me te onduidelijk


pre 1.JPG
 
Laatst bewerkt:
Dan moet je &lt;body&gt; gebruiken.
 
Ja maar dan zou ik al mijn voorbeeld code moeten aanpassen..............


HTML:
echo "<body>";
include("../inc/menu-nl.php");
    (empty($template['bgimage'])) ? $indexBody = "
 </pre>

Hier op forum werkt het toch ook , alleen nog de vraag hoe of er moet nog iets anders zijn.
 
Het is gewoon zoals ik zeg :).
Dat je het moet aanpassen, daar kan ik je niet bij helpen, maar wel je find & replace tool.

Kijk hier maar naar het voorbeeld:
https://jsfiddle.net/mow1n0Lz/

Edit: beter voorbeeld.
 
Laatst bewerkt:
Ja zoiets had ik ook in gedachten

Alleen het script nog vinden.
 
Om dit om te zetten?

Dat kan met PHP en htmlspecialchars():
PHP:
<?php
echo htmlspecialchars("<b>Dit is vet!</b>");
?>
 
Hetzelfde maar dan in een function
PHP:
function preFormat ($html = '') {
    return "<pre>" . htmlspecialchars($html, ENT_HTML5) . "</pre>";
}
echo preFormat("<body>");
 
Bedankt

Ik had gedacht dat het simpel kon door gebruik te maken van de pre tag.
 
In een html document wordt alles wat tussen <.....> staat niet getoond op het scherm, het wordt uitgevoerd als een html instructie. Dit geldt ook voor niet-bestaande html instructies.

<img> is een bestaand element en wordt niet getoond op het scherm.
<images> bestaat niet in html maar wordt ook niet getoond.
 
OK

Had ik het verkeerd , dacht dat daar pre voor uitgevonden was :confused:
 
Met <pre> kan je de opmaak verbeteren, bijvoorbeeld van een array
PHP:
$auto = array (
  "type"   => "V60",
  "model"  => "coupe",
  "kleur"  => "groen"
);

print_r ($auto);

// Resultaat op scherm
Array ( [type] => V60 [model] => coupe [kleur] => groen )


echo "<pre>";
print_r ($auto);
echo "</pre>";

// Resultaat op scherm
Array
(
    [type] => V60
    [model] => coupe
    [kleur] => groen
)
 
Laatst bewerkt:
Vraag over karakterset is verplaatst naar een nieuw topic
 
beste frenske123

Ik vindt dit ook vreemd gedrag van de browser , dit moet een bug van de brower moeten zijn.
Nu heb ik een vermoeden dat bootstrap de eigenschappen van pre door de jaren heen heeft doen vervormen.
Dus ik denk dat er verschil moet zijn met de browsers en mogelijks ook tussen versie . 20 jaar terug was het zeker mogelijk.
nu als het enkel chroom is vooral niets doen op uw website zetten en bug rapporteren .
google denkt dat zij bepalen wie er op een website mag komen of niet en mogelijks ook de standaard naar hun hand zetten.
Dit gaat over de standaarden nu zijn er sites zoals w3c die de indruk wekken dat zijn html standaard beheren .

Als je dit zou testen had ik graag de browser geweten die je gebruikte.

dit zou ook willen zeggen dat de mogelijkheid bestaat als dit tussen javascript staat dit zelfde fenomeen zich voordoet. Ik moet dit ook even nader bekijken en enkele oude browser installeren om het één en het ander te bekijken.
 
Laatst bewerkt:
Ik vindt dit ook vreemd gedrag van de browser , dit moet een bug van de brower moeten zijn.
Nu heb ik een vermoeden dat bootstrap de eigenschappen van pre door de jaren heen heeft doen vervormen.
Het is gewoon de juiste werking van de browser, zoals ik in het begin al uitleg. En wáár haal jij vandaan dat er Bootstrap gebruikt wordt?

Zie je misschien spoken ofzo?
Lees het topic aandachtig, Kenika. :)

Oh ja, het is Chrome, geen chroom, dát is gevaarlijk spul ;)
 
Laatst bewerkt:
een vermoeden dat bootstrap de eigenschappen van pre door de jaren heen heeft doen vervormen
Stél dat hier Bootstrap gebruikt zou zijn... die haalt in de "reboot" css juist verschillen weg die er eventueel zijn tussen browsers. Overigens bepaalt BS niet de eigenschappen van html elementen, dat wordt gedaan door w3C (w3.org) bijvoorbeeld het <pre> element

In de css van een website is het altijd slim te beginnen met een "css normalize" (bij Bootstrap heet dit een Reboot), bekijk 'm maar eens.
Code:
https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap-reboot.css

Bootstrap Reboot is gebaseerd op necolas normalize.css die hier 9 jaar geleden mee is begonnen. Sindsdien zijn verschillen tussen browser-versies telkens erin verwerkt zodat een website bouwer niet tijdens de bouw alle browsers op alle platformen hoeft te testen.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan