html - pre tag nicht funzioniert mit html + php Code
liebewinter
- html
Hallo , wenn schreibe auf meine datei ,
<pre>
<nav class="link_wechsel">
<h2 class="visually-hidden">Page navigation</h2>
<ul>
<li><a <?php if ($current_page=="autos"): ?>aria-current="page" <?php endif ?> href="beispiel-1.php">1</a></li>
<li><a <?php if ($current_page=="essen"): ?>aria-current="page" <?php endif ?> href="beispiel-2.php">2</a></li>
<li><a <?php if ($current_page=="haus"): ?>aria-current="page" <?php endif ?> href="beispiel-3.php">3</a></li>
</nav>
</pre>
Auf der Browser wird gezeigt die gebautet nav , aber nicht der Code wie geschrieben habe... , mit dem pre tag , funzioniert wenn nur Code gibt , ohne html.. ,was kann machen um die Code wird gezeigt wie Oben geschrieben habe... .
danke für eure Hilfe !
hallo
Hallo , wenn schreibe auf meine datei ,
<pre> <nav class="link_wechsel"> <h2 class="visually-hidden">Page navigation</h2> <ul> <li><a <?php if ($current_page=="autos"): ?>aria-current="page" <?php endif ?> href="beispiel-1.php">1</a></li> <li><a <?php if ($current_page=="essen"): ?>aria-current="page" <?php endif ?> href="beispiel-2.php">2</a></li> <li><a <?php if ($current_page=="haus"): ?>aria-current="page" <?php endif ?> href="beispiel-3.php">3</a></li> </nav> </pre>
Auf der Browser wird gezeigt die gebautet nav , aber nicht der Code wie geschrieben habe... , mit dem pre tag , funzioniert wenn nur Code gibt , ohne html.. ,was kann machen um die Code wird gezeigt wie Oben geschrieben habe... .
Offensichtlich willst du html maskieren
< -> <
> -> >
" -> "
dazu gibt es in php eine funktion htmlspecialchars()
https://secure.php.net/manual/en/function.htmlspecialchars.php
danke für deinen Anwort !
aber gibt es nicht eine möglichkeit ohne auf jeden < und > ,ersetzen mit < und > , gibt nicht eine tag , wie Beipiel pre , aber für html und php Code , wenn zusammen sind ?
Das ist kein Wunder, denn wenn dem Browser HTML angekündigt wird (oder der Internet Explorer HTML erkennt), dann wird das auch wie HTML behandelt.
Hilfe:
Lege Dir eine DebugHelper.php an:
<?php
# File: DebugHelper.php
function DebugHelperStart() {
echo '<pre class="DebugHelper">';
ob_start();
}
function DebugHelperEnd( $stop = true ) {
echo htmlspecialchars( ob_get_clean() );
echo '</pre>';
if ( $stop ) {
exit;
}
}
?><style>
pre.DebugHelper {
display: block;
z-index:999;
border: 3px solid red;
}
</style>
Und dann ersetze Deine "<pre>" und "</pre>"-Tags in der zu untersuchenden Datei:
<?php require_once 'DebugHelper.php'; DebugHelperStart(); ?>
<nav class="link_wechsel">
<h2 class="visually-hidden">Page navigation</h2>
<ul>
<li><a <?php if ($current_page=="autos"): ?>aria-current="page" <?php endif ?> href="beispiel-1.php">1</a></li>
<li><a <?php if ($current_page=="essen"): ?>aria-current="page" <?php endif ?> href="beispiel-2.php">2</a></li>
<li><a <?php if ($current_page=="haus"): ?>aria-current="page" <?php endif ?> href="beispiel-3.php">3</a></li>
</nav>
<?php DebugHelperEnd( false ); ?>
Vielen danke für deiner bemüht !
ich habe gemacht alles wie du sagst , zwei datein , und habe auf ihnen deinen Code , aber bekomme dieser screenshot…
Ich bekomme mit:
<?php
function DebugHelperStart() {
echo '<pre class="DebugHelper">';
ob_start();
}
function DebugHelperEnd() {
echo htmlspecialchars( ob_get_clean() );
echo '</pre>';
}
?><style>
pre.DebugHelper {
display: block;
position:absolute;
z-index:999;
border: 3px solid red;
padding:.5rem;
}
</style>
<?php DebugHelperStart(); ?>
<nav class="link_wechsel">
<h2 class="visually-hidden">Page navigation</h2>
<ul>
<li><a <?php if (1): ?>aria-current="page" <?php endif ?> href="beispiel-1.php">1</a></li>
<li><a <?php if (1): ?>aria-current="page" <?php endif ?> href="beispiel-2.php">2</a></li>
<li><a <?php if (1): ?>aria-current="page" <?php endif ?> href="beispiel-3.php">3</a></li>
</nav>
<?php DebugHelperEnd(); ?>
erwartungsgemäß:
Zeige bitte was Du getan hast.
ja , ich habe auf meine /var/www/html , zwei Datein gespeichert..
Eine , auf der DebugHelper.php habe gespeichert ;
<?php
# File: DebugHelper.php
function DebugHelperStart() {
echo '<pre class="DebugHelper">';
ob_start();
}
function DebugHelperEnd( $stop = true ) {
echo htmlspecialchars( ob_get_clean() );
echo '</pre>';
if ( $stop ) {
exit;
}
}
?><style>
pre.DebugHelper {
display: block;
z-index:999;
border: 3px solid red;
}
</style>
dann auf denn andere datei Links_wechsel.html habe;
<?php require_once 'DebugHelper.php'; DebugHelperStart(); ?>
<nav class="link_wechsel">
<h2 class="visually-hidden">Page navigation</h2>
<ul>
<li><a <?php if ($current_page=="autos"): ?>aria-current="page" <?php endif ?> href="beispiel-1.php">1</a></li>
<li><a <?php if ($current_page=="essen"): ?>aria-current="page" <?php endif ?> href="beispiel-2.php">2</a></li>
<li><a <?php if ($current_page=="haus"): ?>aria-current="page" <?php endif ?> href="beispiel-3.php">3</a></li>
</nav>
<?php DebugHelperEnd( false ); ?>
und hier ganze Code der auf Links_wechsel.html steht..
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Links_wechsel</title>
<head>
<style>
body {
background-color: #d2f5c4;
}
</style>
<body>
<h3>Mit Javascript</h3>
<p>Lege der Code Javascript wo ich möchte gezeigt wird...</p>
<pre>
<p><script></p><br>
function setAriaCurrentPage('currentURL')
{
var currentURL = window.location.href;
for (let i = 0, i < document.links.length; i++)
{
if (document.links[i].href === 'currentURL')
{
document.links[i].setAttribute("aria-current", "page");
document.links[i].setAttribute("tabindex", "0");
document.links[i].removeAttribute("href");
}
}
}
<p></script></p><br>
</pre>
<p>....und in <b>CSS</b> schreibe;</p>
<pre>
.link_wechsel a[aria-current=page] {
background-color:green;
}
</pre>
<p>
Der <b>.link_wechsel</b> ist der namme Class , der ich auf meinr <b>nav</b> gegebe habe...
</p>
<p>Mein <b>nav</b> Code;</p>
<nav <b>class="link_wechsel"</b>><br>
<ul><br>
<li><a href="Beispiel-1.php">1</a></li><br>
<li><a href="Beispiel-1.php">2</a></li><br>
</ul><br>
</nav><br>
<p>The <b>aria-current</b> ist die <a href="https://www.w3schools.com/css/css_attribute_selectors.asp">Eingenschaft</a> und <b>page</b> ihrer Wert..</p>
<br>
<h3>Mit PHP</h3>
<?php require_once 'DebugHelper.php'; DebugHelperStart(); ?>
<nav class="link_wechsel">
<h2 class="visually-hidden">Page navigation</h2>
<ul>
<li><a <?php if ($current_page=="autos"): ?>aria-current="page" <?php endif ?> href="beispiel-1.php">1</a></li>
<li><a <?php if ($current_page=="essen"): ?>aria-current="page" <?php endif ?> href="beispiel-2.php">2</a></li>
<li><a <?php if ($current_page=="haus"): ?>aria-current="page" <?php endif ?> href="beispiel-3.php">3</a></li>
</nav>
<?php DebugHelperEnd( false ); ?>
</body>
</html>
Mahlzeit,
dann auf denn andere datei Links_wechsel.html habe;
Bist du sicher, dass eine .html-Datei als PHP ausgeführt wird? Wenn nicht, wird das PHP als Text an den Browser geliefert.
hast du recht ..., jetzt habe meine Datei namme Links_wechsel.html von Links_wechsel.php verendert , ganz oben habe geschrieben;
<?php
header('Content-Type: text/html; Charset=utf-8');
mb_internal_encoding('UTF-8');
date_default_timezone_set('UTC');
error_reporting(E_ALL);
?>
und jetzt bekomme...
Danke !
Das sieht aber nach Murks aus. Wenn PHP nicht ausgeführt wird (Das ist es, was Du willst), dann wird auch
<?php header('Content-Type: text/html; Charset=utf-8'); mb_internal_encoding('UTF-8'); date_default_timezone_set('UTC'); error_reporting(E_ALL); ?>
nicht ausgeführt. Schau also im Browser in den Quelltext!
Und dann meine Lösung für Quelltextausschnitte an.
Ok. Du willst etwas ganz anderes.
Der einfachste Weg dürfte folgendes sein:
Schneide den Code aus Deiner Datei heraus und speichere ihn als 'code.00001.txt'
<nav class="link_wechsel">
<h2 class="visually-hidden">Page navigation</h2>
<ul>
<li><a <?php if ($current_page=="autos"): ?>aria-current="page" <?php endif ?> href="beispiel-1.php">1</a></li>
<li><a <?php if ($current_page=="essen"): ?>aria-current="page" <?php endif ?> href="beispiel-2.php">2</a></li>
<li><a <?php if ($current_page=="haus"): ?>aria-current="page" <?php endif ?> href="beispiel-3.php">3</a></li>
</nav>
An der selben Stelle:
<pre class="codeblock">
<?=htmlspecialchars( file_get_contents( 'code.00001.txt' ) ); ?>
</pre>
oder:
<?php
highlight_file( 'code.00001.txt' );
?>
Das kannst Du auch mit Javascript machen.
@@ liebewinter
Was hast du vor? Du willst HTML-Code auf einer Webseite zeigen?
Dann musst du zumindest die <
escapen:
<pre><code><nav class="link_wechsel">
<h2 class="visually-hidden">Page navigation</h2>
</nav></code></pre>
LLAP 🖖
vilen danke für deinen bemüht !
ich habe auf meine code ähnliches wie deine Code ;
<pre><code><nav class="link_wechsel">
<h2 class="visually-hidden">Page navigation</h2>
<ul>
<li><a <?php if ($current_page=="autos"): ?>aria-current="page" <?php endif ?> href="beispiel-1.php">1</a></li>
<li><a <?php if ($current_page=="essen"): ?>aria-current="page" <?php endif ?> href="beispiel-2.php">2</a></li>
<li><a <?php if ($current_page=="haus"): ?>aria-current="page" <?php endif ?> href="beispiel-3.php">3</a></li>
</nav></code></pre>
und das der screenshot der ich bekomme;
so , wie er zeigt ist sehr ähnlicher wie deine... aber der Code PHP wird nicht gezeigt...
Was hast du vor? Du willst HTML-Code auf einer Webseite zeigen?
ich versuche eine Datei zu bauen wo ich schreibe , was ich lernen , dann Später einfacher finde wenn eine Probleme bekomme...
aber der Code PHP wird nicht gezeigt
Das geht auch nicht. Der wird auf dem Server schon abgearbeitet. Wenn Du den PHP-Code sehen willst und es kompliziert machen willst, dann verbinde Dich via ssh mit dem Server und verlinke (oder kopiere) die PHP-Datei zu einer Datei mit der Endung '.phps',
ln seite.php seite.phps
Öffne dann nicht http://example.com/seite.php
sondern http://example.com/seite.phps
.
Oder sieh Dir gleich den Quelltext in Deinem Editor an.
ich habe der namme von der Datei Links_wechsel.html und nach Links_wechsel.php verendert , ganz oben habe geschrieben;
<?php
header('Content-Type: text/html; Charset=utf-8');
mb_internal_encoding('UTF-8');
date_default_timezone_set('UTC');
error_reporting(E_ALL);
?>
und jetzt bekomme…
Vielllll danke für deinen bemüht !
und genießen das Leben ! , ich meints es weil du , Gunnar und Rolf sind immer hier und Leben gibt es nur EINS... ☺️
ich wünsche alle euch einen schöne Wochenende !
@@ liebewinter
<li><a <?php if ($current_page=="autos"): ?>aria-current="page" <?php endif ?> href="beispiel-1.php">1</a></li>
[…] aber der Code PHP wird nicht gezeigt...
Da sind ja auch noch <
drin. Wie das Bärchen schon sagte, wird der PHP-Code dann schon auf dem Server ausgeführt.
Du willst
<li><a <?php if ($current_page=="autos"): ?>aria-current="page" <?php endif ?> href="beispiel-1.php">1</a></li>
und vielleicht auch noch einen Syntax-Highlighter wie Prism?
LLAP 🖖
ich habe auch früher versucht .. aber meine fehler war , das ich mit <pre> versucht habe , deshalb habe nicht bekomme…
wie ich Früher geschrieben habe...
<li><a <pre> <?php if ($current_page=="1"): ?>aria-current="page" <?php endif ?> href="beispiel-1.php">1</a></li></pre>